@brutalsystems/muster 0.8.2 → 0.8.3
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 +17 -3
- package/dist/identity/claude.js +10 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -66,9 +66,11 @@ used to look identical to a hung or crashed launch. Muster now reads
|
|
|
66
66
|
`hasTrustDialogAccepted` for the working directory out of the profile's
|
|
67
67
|
`.claude.json` when a Claude launch times out with nothing registered, and
|
|
68
68
|
either names the untrusted directory and the one-time fix or rules trust out
|
|
69
|
-
and
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
and sends you to the terminal for whatever else is holding the session — a
|
|
70
|
+
login prompt, or another one-time confirmation. It deliberately does not guess
|
|
71
|
+
which: trust is the only one of them Muster can check, and a message that names
|
|
72
|
+
the wrong screen costs what the vague one did. That read happens only on the
|
|
73
|
+
failure path and only ever reads. A
|
|
72
74
|
`--kind task` launch into the same directory is the cheap discriminator by
|
|
73
75
|
hand: it runs headless and never sees the dialog.
|
|
74
76
|
|
|
@@ -694,6 +696,18 @@ need it), and resume/fork (#32) cannot assume a copy is still there.
|
|
|
694
696
|
Launching without `--identity` sets none of this: behaviour is exactly as
|
|
695
697
|
before, using the ambient environment.
|
|
696
698
|
|
|
699
|
+
**That is the right choice for profile work, which is counter-intuitive.** If
|
|
700
|
+
you already work in a shell whose `CLAUDE_CONFIG_DIR` selects an account —
|
|
701
|
+
`~/.claude-armdev`, say — a launch with no `--identity` inherits it, and the
|
|
702
|
+
session lands on that account with no flag at all. `launchEnv` blocks
|
|
703
|
+
`CLAUDECODE`, `CLAUDE_CODE_*`, `CODEX_THREAD_ID`, `TMUX`, `TMUX_PANE` and
|
|
704
|
+
`MCP_*` from reaching the child, and deliberately lets `CLAUDE_CONFIG_DIR`
|
|
705
|
+
through for exactly this reason. Passing `--identity` there does not add
|
|
706
|
+
containment to that account — it **replaces** it, pointing the runtime at a
|
|
707
|
+
copy of a different one, so the session appears under an account you did not
|
|
708
|
+
mean to use. Reach for `--identity` to choose an account Muster manages, not to
|
|
709
|
+
harden the one your shell already selected.
|
|
710
|
+
|
|
697
711
|
Session discovery follows the same relocated path, so a Claude identity's
|
|
698
712
|
sessions are found even though `CLAUDE_CONFIG_DIR` no longer points at
|
|
699
713
|
`~/.claude` — this was previously refused outright as an unsupported
|
package/dist/identity/claude.js
CHANGED
|
@@ -62,10 +62,13 @@ export async function claudeWorkspaceTrusted(env, cwd) {
|
|
|
62
62
|
*
|
|
63
63
|
* A session sitting on a consent screen has no registry record at all, so the
|
|
64
64
|
* timeout looks identical to a hung or crashed launch. Several unrelated
|
|
65
|
-
* screens produce it
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
65
|
+
* screens can produce it, and the old message guessed at two of them together.
|
|
66
|
+
* Trust is the one Muster can actually check, so it is either named or ruled
|
|
67
|
+
* out. Nothing else is named: a first-use bypass-permissions confirmation was
|
|
68
|
+
* a plausible account of one report, but no profile on this machine carries a
|
|
69
|
+
* key for it the way they carry `hasSeenAutoModeEntryWarning` and its
|
|
70
|
+
* siblings, so this says "another one-time confirmation" rather than sending
|
|
71
|
+
* the reader after a screen nobody has demonstrated.
|
|
69
72
|
*
|
|
70
73
|
* A `--kind task` launch into the same directory is the cheap discriminator:
|
|
71
74
|
* it runs headless and never sees the dialog, so it succeeds where a session
|
|
@@ -77,9 +80,9 @@ export function claudeRegistryDiagnostic(trusted, cwd, configDir) {
|
|
|
77
80
|
`accepted for ${cwd} in ${configDir} — accept it once with ` +
|
|
78
81
|
`\`cd ${cwd} && claude\`, then retry (trust is per-directory and is ` +
|
|
79
82
|
`not inherited from a parent directory)`);
|
|
80
|
-
return (`no Claude session registry found (${cwd} is trusted
|
|
81
|
-
`
|
|
82
|
-
`
|
|
83
|
+
return (`no Claude session registry found (${cwd} is trusted for this profile, ` +
|
|
84
|
+
`so the session is stopped on something else — check the terminal for a ` +
|
|
85
|
+
`login prompt or another one-time confirmation)`);
|
|
83
86
|
}
|
|
84
87
|
export async function resolveClaude(root, env, deadline) {
|
|
85
88
|
const dir = claudeSessionsDir(env);
|