@mulmoclaude/core 5.5.0 → 5.5.1
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.
|
@@ -152,6 +152,45 @@ checked**. Open the body with a line saying the answer came from this lookup and
|
|
|
152
152
|
is awaiting maintainer review — it is a draft, not documentation. Never edit
|
|
153
153
|
`bug-report-faq.md` yourself.
|
|
154
154
|
|
|
155
|
+
## "Failed to authenticate" — the Claude CLI's own login expired
|
|
156
|
+
|
|
157
|
+
### Symptoms
|
|
158
|
+
|
|
159
|
+
- `[Error] Failed to authenticate: OAuth session expired and could not be refreshed`
|
|
160
|
+
- `[Error] Failed to authenticate. API Error: 401 …` / `Invalid API key`
|
|
161
|
+
- Older versions: that text shown as a normal reply, then a separate `[Error] claude exited with code 1`
|
|
162
|
+
- Every turn fails the same way until the user acts — failures come in bursts, not at random
|
|
163
|
+
|
|
164
|
+
### Cause
|
|
165
|
+
|
|
166
|
+
The `claude` CLI that MulmoClaude spawns could not authenticate with Anthropic, so it
|
|
167
|
+
exited before running anything. This is the CLI's own login (`claude login`, stored in
|
|
168
|
+
`~/.claude` / the macOS Keychain), not a MulmoClaude or Google account link. An OAuth
|
|
169
|
+
(subscription) session goes stale when its silent refresh fails; nothing on the
|
|
170
|
+
MulmoClaude side can refresh it.
|
|
171
|
+
|
|
172
|
+
### Fix
|
|
173
|
+
|
|
174
|
+
The user runs `claude /login` (or `claude login`) in a terminal **on the host**, then
|
|
175
|
+
resends the message. If they authenticate with `ANTHROPIC_API_KEY` instead, check that
|
|
176
|
+
key. Switching auth mode is not the fix — a fresh `/login` is.
|
|
177
|
+
|
|
178
|
+
If `/login` succeeds and the error persists (typically `401 OAuth access token is
|
|
179
|
+
invalid`), what to check depends on the sandbox:
|
|
180
|
+
|
|
181
|
+
- **Sandbox off** — the spawned CLI inherits the server's environment, so a
|
|
182
|
+
`CLAUDE_CODE_OAUTH_TOKEN` set where MulmoClaude was started (shell profile or `.env`)
|
|
183
|
+
overrides the stored login. The user unsets or replaces it and **restarts
|
|
184
|
+
MulmoClaude**; a new terminal does not change the running server.
|
|
185
|
+
- **Sandbox on** — the container gets only the variables MulmoClaude passes explicitly,
|
|
186
|
+
and that token is not one of them; it authenticates from the host's mounted
|
|
187
|
+
`~/.claude`. Do not chase the environment variable here — the host login is the one
|
|
188
|
+
that counts.
|
|
189
|
+
|
|
190
|
+
You will usually be reading this AFTER the user re-logged in (a failing turn never
|
|
191
|
+
reaches you); answer "why did that happen" with the cause above rather than
|
|
192
|
+
investigating MulmoClaude's settings.
|
|
193
|
+
|
|
155
194
|
## gh / git / SSH errors inside the sandbox
|
|
156
195
|
|
|
157
196
|
### Symptoms
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mulmoclaude/core",
|
|
3
|
-
"version": "5.5.
|
|
3
|
+
"version": "5.5.1",
|
|
4
4
|
"description": "Shared server-side core for MulmoClaude and MulmoTerminal \u2014 the always-shipped-together subsystems consolidated behind subpath exports so the two hosts can't drift. Server-only except the browser-safe ./artifacts, ./whisper/client, ./workspace-setup/slug, ./translation/client, ./remote-view, ./remote-host and ./plugin-vue entries. All host specifics are injected.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -226,7 +226,7 @@
|
|
|
226
226
|
"dependencies": {
|
|
227
227
|
"@duckdb/node-api": "^1.5.5-r.5",
|
|
228
228
|
"@mulmoclaude/common": "^1.3.0",
|
|
229
|
-
"@mulmoclaude/markdown-utils": "^3.0.
|
|
229
|
+
"@mulmoclaude/markdown-utils": "^3.0.1",
|
|
230
230
|
"dompurify": "^3.4.15",
|
|
231
231
|
"fast-xml-parser": "^5.11.1",
|
|
232
232
|
"google-auth-library": "^11.1.0",
|