Repository navigation
docs(fleet): start the broker from a keychain-unlocked session on macOS - #64
Merged
Merged
Conversation
Workers inherit the security session of the process that spawned them, so a
broker started from a locked-keychain session hands every worker a locked
keychain. Any harness that stores credentials in the Keychain then fails --
cursor-agent and the RelayFile CLI both do.
The failure is easy to misdiagnose for three reasons, all documented here:
- unlocking the keychain in the macOS GUI does not unlock it for SSH; they are
separate security sessions
- unlocking in one SSH session does not carry to the next
- agent-relay itself does not need the keychain, so `agent-relay status` and
`agent-relay workspace active` keep working while cursor-agent and relayfile
fail with what look like auth errors ("http 401 unauthorized")
Adds the unlock-then-start sequence to section 3 and a troubleshooting entry
that names the 401 explicitly, so the next operator does not spend an afternoon
re-logging in to fix a credential that was already present.
Follow-up to #63.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Ld4S9gUGzTjhVhbtX9cTd
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Contributor
|
Preview deployed!
This is a Cloudflare Workers preview version of this PR's build. |
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.
Follow-up to #63. Adds the one failure mode that cost the most time bringing a second machine online, and that the guide does not currently mention.
The problem
Workers inherit the security session of the process that spawned them. A broker started from a session with a locked login keychain hands every worker a locked keychain, so any harness storing credentials there fails:
cursor-agentand the RelayFile CLI both hit this.Why it is easy to misdiagnose
Three properties, all now documented:
agent-relaydoes not need the keychain.agent-relay statusandagent-relay workspace activekeep working whilecursor-agentandrelayfilefail — so a healthyagent-relayis not evidence the keychain is available.That third one is what makes the
401so misleading: it reads as an authentication or account problem, and the natural response is to re-run a device login. The credential was already present the whole time; it was sitting in a keychain the session could not read.What this adds
ssh -tis required sosecuritycan prompt), plus a note thatset-keychain-settingsclears the idle timeout but cannot survive a reboot without storing a password somewhere it should not be.401, withsecurity show-keychain-infoas the check, and the point that unlocking in a separate session will not fix an already-running worker — the broker has to be restarted.Documentation only.
🤖 Generated with Claude Code
https://claude.ai/code/session_017Ld4S9gUGzTjhVhbtX9cTd
Note
Low Risk
Documentation-only changes with no runtime, security, or data-handling code impact.
Overview
Documentation-only update to the fleet setup guide for a macOS pitfall when bringing nodes online: workers inherit the broker’s security session, so a broker started with a locked login keychain breaks harnesses that read Keychain credentials (
cursor-agent, RelayFile) with misleading auth-style errors whileagent-relayitself still looks healthy.Adds §3 subsection with unlock-then-start steps (
ssh -t,security unlock-keychain,set-keychain-settings, thenagent-relay node up), notes on GUI vs SSH sessions and post-reboot warnings, plus a Troubleshooting entry linking to that section—emphasizing that fixing keychain in another SSH session does not heal running workers and thatrelayfile401s should be checked withsecurity show-keychain-infobefore re-auth.Reviewed by Cursor Bugbot for commit f2d5eda. Bugbot is set up for automated code reviews on this repo. Configure here.