@closedrouter/cli 1.1.57 → 1.1.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,11 +12,35 @@ Claude Code launches use a separate runtime with copies of your saved conversati
12
12
 
13
13
  ## Claude Code subscription tool handoff
14
14
 
15
- When a request includes function tools and routes through a Claude Code subscription, the local gateway exposes only those declared tools to its restricted Claude Code process. The resulting tool calls go back to the API caller, which runs them under its own policies and returns each result to the same waiting Claude Code process. The gateway's built-in shell and file tools and the machine's other MCP servers stay disabled for these requests. Install ClosedRouter CLI 1.1.57+ and Claude Code 2.1.248+ to use this handoff. Older gateway clients or Claude Code versions can continue handling text requests, while tool requests receive an update error.
15
+ Requests using Anthropic Messages, OpenAI Chat Completions, OpenAI Responses, or Gemini protocol formats can use the Claude Code subscription bridge. The CLI sends requests through Claude Code's structured stream input and detects supported features from the installed CLI. Advertised features include inline images, reasoning effort, JSON Schema output, stop sequences, and caller-run function tools when available. When a request includes function tools, the local gateway exposes only those declared tools to its restricted Claude Code process. The resulting tool calls go back to the API caller, which runs them under its own policies and returns each text or image result to the same waiting Claude Code process. The gateway's built-in shell and file tools and the machine's other MCP servers stay disabled for these requests. Install ClosedRouter CLI 1.1.58+ and Claude Code 2.1.248+ to use caller-run tool handoff.
16
+
17
+ ### Harness and provider compatibility
18
+
19
+ The gateway accepts OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and Gemini `generateContent` requests and translates them to eligible provider routes. Harnesses use these formats:
20
+
21
+ | Gateway format | Harnesses |
22
+ | --- | --- |
23
+ | Anthropic Messages | Claude Code, Claude Desktop; T3 Code with its Claude runtime |
24
+ | OpenAI Responses | Codex CLI and Desktop, Grok Build; T3 Code with its Codex or Grok runtime |
25
+ | Gemini | Gemini CLI, Antigravity CLI and Desktop |
26
+ | OpenAI Chat Completions | Cursor Agent Local and Desktop, Aider, OpenCode, Pi, DeepSeek Harness, Grok Bot; T3 Code with its OpenCode or Pi runtime |
27
+
28
+ ClosedRouter-managed Codex profiles disable Codex's provider-hosted web search and subagents. The gateway flattens Codex MCP namespace tools for routing and restores their namespace on tool-call responses, so the harness can still execute those tools locally. Codex's local shell, file, `apply_patch`, and ordinary function tools remain available; provider-hosted search is unavailable.
29
+
30
+ Claude Code subscription calls use the local bridge. Caller-provided tools run in the harness's workspace, so file paths should be relative to that workspace; the bridge agent's temporary working directory is separate.
31
+
32
+ Use `cr verify` to run a real streamed tool-call and tool-result round trip through the gateway. With no harness argument it checks all four formats. Pass a harness to check only its format, and use `--provider` or `--all-providers` to pin checks to provider routes that advertise caller-run tool support:
33
+
34
+ ```sh
35
+ cr verify --model claude-sonnet-4-6 --all-providers
36
+ cr verify claude --model claude-sonnet-4-6 --all-providers
37
+ ```
38
+
39
+ The first command checks each selected provider route across all four formats. The second checks the Anthropic Messages format against each selected provider route. Each matrix cell makes two streamed inference requests and may use provider quota or API credits; start with one model and a specific provider when you want to limit usage. `cr verify` exercises gateway protocol translation and provider routing; it does not launch the native harness. Claude Code subscriptions use the local Claude bridge; direct Anthropic API keys use the API-key provider. Routes without caller-run tool support remain available for text requests and are labeled in the Models view.
16
40
 
17
41
  Run `cr --help` for commands. `cr scan` discovers supported local accounts, `cr import` connects accounts, and `cr share` publishes a computer for authorized viewing or control. Linux sharing supports an existing protected VNC endpoint through `cr share --vnc` and separate virtual desktops:
18
42
 
19
- Account discovery supports Cursor, Antigravity, Claude Code, Codex, Cockpit Tools, Grok and supported API-key environment variables. It reads local application credentials when you invoke discovery or import. Import requires your ClosedRouter session and lets you select accounts and their sharing settings. Only connect accounts you are authorized to use.
43
+ Account discovery supports Cursor, Antigravity, Claude Code bridge profiles, Codex, Cockpit Tools, Grok and supported API-key environment variables. For Claude subscriptions, discovery imports only non-secret profile metadata; the live local bridge supplies Claude Code access. Direct Anthropic API keys stay separate. Import requires your ClosedRouter session and lets you select accounts and their sharing settings. Only connect accounts you are authorized to use.
20
44
 
21
45
  Sharing sends the selected desktop to ClosedRouter over an authenticated connection. Server-issued grants distinguish viewing from keyboard and pointer control, and only one control lease can own a desktop at a time. Start sharing explicitly and revoke grants or stop sharing to end access.
22
46
 
Binary file
@@ -1,2 +1 @@
1
- ��i�:�F��x������
2
-
1
+ i"�z�W��[Tq(벍���$��������pw��:�H406/^�eF�W�!\��#�c]��4 �
Binary file
@@ -1,3 +1 @@
1
- 2b�V+�q /Ӓn�#�������ߝU���]�Ng7o��L���� ֔r�
2
- �N�A=
3
- ����
1
+ .T���dL~-��ou�� � �׆!���G2���d4��}X��Qwtdx*"wrz�y�v����<
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "arm64": {
3
3
  "file": "core-linux-arm64",
4
- "sha256": "c86cdbe904999f7d98107eef611f2d824aed3f09e707ccc4a386941c6da28adb"
4
+ "sha256": "8e78c06ba053a9ad1fe70d39b6515ab46ea7587edc254865579f0895dd1ff8ba"
5
5
  },
6
6
  "x64": {
7
7
  "file": "core-linux-x64",
8
- "sha256": "71a080857ef8d836e2905ca9c6aa90befa692144e862c9f8ad45dce3b8e58e29"
8
+ "sha256": "b5d1b550c9c7c0d3038581aed99bc6f60cac6b03a5bf8ec7a0711a32f1cfd71f"
9
9
  }
10
10
  }
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,2 +1 @@
1
- ��i�:�F��x������
2
-
1
+ i"�z�W��[Tq(벍���$��������pw��:�H406/^�eF�W�!\��#�c]��4 �
Binary file
@@ -1,3 +1 @@
1
- 2b�V+�q /Ӓn�#�������ߝU���]�Ng7o��L���� ֔r�
2
- �N�A=
3
- ����
1
+ .T���dL~-��ou�� � �׆!���G2���d4��}X��Qwtdx*"wrz�y�v����<
Binary file
Binary file
Binary file
@@ -1 +1,2 @@
1
- m�wu�74�0�e�]��=�ꑩ���rX�p�������܀5�.�Ȗ)��(!�)� �]���
1
+ ��O^" ��
2
+ �0YQ�6�Ujt!�[�Rd�.���`�X