@askalf/dario 6.0.26 → 6.0.27

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.
@@ -202,14 +202,14 @@ export function checkIdentityDrift(input) {
202
202
  return [{
203
203
  status: 'info',
204
204
  label: 'Identity',
205
- detail: 'no ~/.claude.json found — proxy will send requests without metadata.user_id, which routes them to Extra Usage billing instead of the Max plan allocation. Run Claude Code at least once to generate it.',
205
+ detail: 'no ~/.claude.json found — pool seats carry their own snapshot identity on every request, so they are unaffected; only single-account api-key mode sends no metadata.user_id, and dario cannot tell how Anthropic bills a request that carries none. Run Claude Code once if you want this machine\'s identity snapshotted into seats added here.',
206
206
  }];
207
207
  }
208
208
  if (poolAccounts.length === 0) {
209
209
  return [{
210
210
  status: 'info',
211
211
  label: 'Identity',
212
- detail: `~/.claude.json userID=${shortId(live.deviceId)} — no pool accounts snapshotted yet, so identity drift can't be checked. It starts once the login pool-of-one is materialized (\`dario login\` / \`dario proxy\`) or you \`dario accounts add\` more; until then a mismatch only surfaces as a 401 from Anthropic on non-Haiku models.`,
212
+ detail: `~/.claude.json userID=${shortId(live.deviceId)} — no pool accounts snapshotted yet, so there is nothing to compare. Seats materialize on the next \`dario login\` / \`dario proxy\` or \`dario accounts add\`.`,
213
213
  }];
214
214
  }
215
215
  const aligned = [];
@@ -254,10 +254,19 @@ export function checkIdentityDrift(input) {
254
254
  fixes.push(`\`dario accounts remove <alias>\` then \`dario accounts add <alias>\` to re-snapshot` +
255
255
  `${otherDrifted.length === 1 ? '' : ' (for each of them)'} — the add re-runs OAuth for that account`);
256
256
  }
257
+ // Informational, not a warning. "Differs from this machine's ~/.claude.json"
258
+ // is the expected state for any seat added from another machine or headless
259
+ // (a minted identity), and it is not a fault: a seat with a minted identity
260
+ // served Sonnet 5 / Opus 5 / Haiku with 200 on 2026-09-06, on a plan with
261
+ // Extra Usage disabled. The failure this check used to promise — non-Haiku
262
+ // 401s — has only been observed when the identity belongs to a DIFFERENT
263
+ // account than the bearer (a transplant that copied one file and not the
264
+ // other). So the row names the seats and the one symptom that would make
265
+ // re-snapshotting them the fix.
257
266
  return [{
258
- status: 'warn',
267
+ status: 'info',
259
268
  label: 'Identity',
260
- detail: `${drifted.length}/${poolAccounts.length} pool account${poolAccounts.length === 1 ? '' : 's'} drifted from ~/.claude.json (live userID=${shortId(live.deviceId)}): ${drifted.join('; ')} — non-Haiku requests on the drifted account(s) will 401. Fix: ${fixes.join('; ')}`,
269
+ detail: `${drifted.length}/${poolAccounts.length} pool account${poolAccounts.length === 1 ? '' : 's'} carry an identity that differs from this machine's ~/.claude.json (live userID=${shortId(live.deviceId)}): ${drifted.join('; ')} — expected for seats added elsewhere or headless (minted identity), and not a fault by itself: a minted identity serves every model normally. Only an identity that belongs to a different account than the seat's bearer has produced 401s on non-Haiku models; if a listed seat does that, re-snapshot it: ${fixes.join('; ')}`,
261
270
  }];
262
271
  }
263
272
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askalf/dario",
3
- "version": "6.0.26",
3
+ "version": "6.0.27",
4
4
  "description": "Use your Claude Pro/Max subscription in any tool — Cursor, Cline, Aider, the Agent SDK, your scripts — at subscription pricing, not per-token API bills. One local Anthropic + OpenAI-compatible endpoint.",
5
5
  "type": "module",
6
6
  "bin": {