Repository navigation
Conversation
…doctor DNS, OpenClaw lock - claude-code: Next says to restart Claude Code before /mcp -> Authenticate (box-portal#152). - connect prints a progress line per app before any slow step; a config it can't write fails before anything changes, and inside an agent's sandbox (Codex) it gives the command to run in a normal terminal (box-portal#179). - cursor: Next gives the editor's Customize -> MCPs -> Authenticate path and the cursor-agent CLI sign-in, `cursor-agent mcp login box` (box-portal#185). - doctor: plain DNS lookup of the MCP host; flags ENOTFOUND when only the proxied HTTPS check works, with the proxy named but never its credentials (box-portal#191). - openclaw: a held state lock (or a timed-out `mcp set`) gives one "quit OpenClaw, then run..." message (box-portal#195). - Every sign-in step says "click Allow", the consent page's button. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ch, keep --auth key, quote BOX_MCP_URL - assertWritable creates and deletes a file instead of trusting access(2), which sandboxes may not filter. - OpenClaw: match a lock on its state or config, not any "lock"; a timeout gets its own message; the hand-off keeps --auth key and drops the browser sign-in in key mode. - connectCommand quotes BOX_MCP_URL and uses $env: on Windows. - doctor names a set proxy whenever DNS fails; lookupHost never throws on a bad URL. - Hermes pre-checks .env too; the Claude Code step covers a Claude Code that isn't running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
lihautan
marked this pull request as ready for review
November 10, 2026 04:03
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes simular-ai/box-portal#152
Fixes simular-ai/box-portal#179
Fixes simular-ai/box-portal#185
Fixes simular-ai/box-portal#191
Fixes simular-ai/box-portal#195
Five installer CLI bugs from the layer 3 onboarding runs. They were filed in box-portal, but the code is here in
cli/. The wording follows box-portal's install.md update (simular-ai/box-portal#333): restart before sign-in, "Allow" (the consent page's button), and the same OpenClaw and Codex hand-offs.What changes
claudeagain…" (in the desktop Code tab, start a new session instead). Then:/mcp→plugin:box:box→ Authenticate → Allow.<App>: setting up boxbefore any slow step, so an agent's tool call shows output right away.access(2)and then block the real write.EROFSnow counts as a permission error.CODEX_SANDBOX/CODEX_SANDBOX_NETWORK_DISABLED, orEROFS), connect prints one line: "This looks like an AI agent's sandbox … Run this command in a normal terminal instead:npx -y @simular-ai/box connect --client codex --yes". It doesn't print the Codex app steps there.doctorprints its first line before the network checks.~/.cursor/mcp.jsonserves both the editor and the CLI:cursor-agent mcp login box, then start a new cursor-agent session.dns.lookupon the MCP host (5 s timeout), in parallel with the HTTPS probe.scheme://host:portonly, never with its user or password.okfalse and appears in the--jsonoutput asdns.openclaw mcp setfails with a state or config lock error, connect prints one message: "OpenClaw is running and holds its config lock… Type/exitto quit OpenClaw. In this terminal, runnpx -y @simular-ai/box connect --client openclaw --yes, thenopenclaw mcp login box, and click Allow in the browser. Then startopenclawagain and ask: Use box to take a screenshot of the box." The generic "file may belong to another user" advice no longer follows it. With--auth key, the command keeps--auth keyand leaves out the browser sign-in.Not verified
package-lock.json). A timeout gets its own message. If a real run prints something else, the oldopenclaw mcp set failed: …message appears instead, so nothing gets worse.codex execsandbox, or behind a real proxy with broken DNS. Fake CLIs and injected probes cover both.Tests
cd cli && npx eslint . --max-warnings 0 && node --test: 77 tests, all passing (66 before). New tests:/mcp, and no "Approve" remains.--auth keykept;package-lock.jsonnot taken as a lock.~/.codexwithCODEX_SANDBOXset fails in under 10 s, with the progress line right after the intro and the terminal command; the file is left unchanged.lookupHostfor ENOTFOUND and a timeout; real doctor against a.invalidhost.assertWritableandconnectCommand, including the quotedBOX_MCP_URLand Windows$env:.Review
simular-code-review (with secure-coding) ran on the first commit in a separate agent that didn't write the change. Blocking: none. Secure-coding: nothing found (the proxy credentials are removed before printing, and a test covers it). All eight non-blocking findings are fixed in the second commit:
access(2);--auth keyis kept in the OpenClaw hand-off;BOX_MCP_URLis quoted, with$env:on Windows;lookupHostdoesn't throw on a malformed URL;.env;🤖 Generated with Claude Code