opencode-claude-auth 0.5.6 → 0.6.0

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 CHANGED
@@ -8,7 +8,7 @@ OpenCode plugin that uses your existing Claude Code credentials — no separate
8
8
 
9
9
  ## How it works
10
10
 
11
- Claude Code stores OAuth tokens in the macOS Keychain (or `~/.claude/.credentials.json` on other platforms). This plugin reads those tokens and writes them to OpenCode's `~/.local/share/opencode/auth.json` (`%LOCALAPPDATA%\opencode\auth.json` on Windows), so you don't need to log in twice. It re-syncs every 5 minutes to pick up token refreshes. If a token is near expiry, it runs the Claude CLI to trigger a refresh.
11
+ Claude Code stores OAuth tokens in the macOS Keychain (or `~/.claude/.credentials.json` on other platforms). This plugin reads those tokens and writes them to OpenCode's `~/.local/share/opencode/auth.json` (on Windows, it writes to both `%USERPROFILE%\.local\share\opencode\auth.json` and `%LOCALAPPDATA%\opencode\auth.json` to cover all installation methods), so you don't need to log in twice. It re-syncs every 5 minutes to pick up token refreshes. If a token is near expiry, it runs the Claude CLI to trigger a refresh.
12
12
 
13
13
  ## Prerequisites
14
14
 
@@ -66,7 +66,7 @@ The plugin checks these in order:
66
66
  ## How it works (technical)
67
67
 
68
68
  - Reads OAuth tokens from macOS Keychain (`Claude Code-credentials` entry) or `~/.claude/.credentials.json` fallback
69
- - Writes an `anthropic` entry to `~/.local/share/opencode/auth.json` (`%LOCALAPPDATA%\opencode\auth.json` on Windows) in OpenCode's native OAuth format
69
+ - Writes an `anthropic` entry to `~/.local/share/opencode/auth.json` (on Windows, writes to both `%USERPROFILE%\.local\share\opencode\auth.json` and `%LOCALAPPDATA%\opencode\auth.json`) in OpenCode's native OAuth format
70
70
  - Preserves other provider entries already in auth.json
71
71
  - Re-syncs credentials every 5 minutes in the background
72
72
  - When a token is within 60 seconds of expiry, runs `claude` CLI to trigger a refresh
@@ -0,0 +1 @@
1
+ export { ClaudeAuthPlugin, default } from "./dist/index.js"
package/dist/index.d.ts CHANGED
@@ -1,4 +1,13 @@
1
1
  import type { Plugin } from "@opencode-ai/plugin";
2
+ import { type ClaudeCredentials } from "./keychain.js";
3
+ export declare function getCachedCredentials(): ClaudeCredentials | null;
4
+ export declare function buildRequestHeaders(input: RequestInfo | URL, init: RequestInit, accessToken: string, modelId?: string): Headers;
5
+ export declare function getBillingHeader(modelId: string): string;
6
+ export declare function getModelBetas(modelId: string): string[];
7
+ export declare function transformBody(body: BodyInit | null | undefined): BodyInit | null | undefined;
8
+ export declare function stripToolPrefix(text: string): string;
9
+ export declare function transformResponseStream(response: Response): Response;
2
10
  declare const plugin: Plugin;
11
+ export declare const ClaudeAuthPlugin: Plugin;
3
12
  export default plugin;
4
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAsEjD,QAAA,MAAM,MAAM,EAAE,MAmCb,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAKjD,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;AA0F7E,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAoB/D;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,SAAY,GAClB,OAAO,CAuCT;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBvD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,CA8C5F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CA0CpE;AAID,QAAA,MAAM,MAAM,EAAE,MAwGb,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,CAAA;AACtC,eAAe,MAAM,CAAA"}
package/dist/index.js CHANGED
@@ -3,15 +3,30 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
3
3
  import { dirname, join } from "node:path";
4
4
  import { homedir } from "node:os";
5
5
  import { readClaudeCredentials } from "./keychain.js";
6
- function getAuthJsonPath() {
6
+ const SYSTEM_IDENTITY_PREFIX = "You are Claude Code, Anthropic's official CLI for Claude.";
7
+ const TOOL_PREFIX = "mcp_";
8
+ const CC_VERSION = "2.1.80";
9
+ const REQUIRED_BETAS = [
10
+ "claude-code-20250219",
11
+ "oauth-2025-04-20",
12
+ "interleaved-thinking-2025-05-14",
13
+ "prompt-caching-scope-2026-01-05",
14
+ ];
15
+ const CREDENTIAL_CACHE_TTL_MS = 30_000;
16
+ let cachedCredentials = null;
17
+ let cachedCredentialsAt = 0;
18
+ function getAuthJsonPaths() {
19
+ const xdgPath = join(homedir(), ".local", "share", "opencode", "auth.json");
7
20
  if (process.platform === "win32") {
8
21
  const appData = process.env.LOCALAPPDATA ?? join(homedir(), "AppData", "Local");
9
- return join(appData, "opencode", "auth.json");
22
+ const localAppDataPath = join(appData, "opencode", "auth.json");
23
+ // Write to both paths on Windows: some installs (Chocolatey, npm global)
24
+ // use the XDG-style path, others use %LOCALAPPDATA%. See #33.
25
+ return [xdgPath, localAppDataPath];
10
26
  }
11
- return join(homedir(), ".local", "share", "opencode", "auth.json");
27
+ return [xdgPath];
12
28
  }
13
- function syncAuthJson(creds) {
14
- const authPath = getAuthJsonPath();
29
+ function syncToPath(authPath, creds) {
15
30
  let auth = {};
16
31
  if (existsSync(authPath)) {
17
32
  const raw = readFileSync(authPath, "utf-8").trim();
@@ -36,6 +51,11 @@ function syncAuthJson(creds) {
36
51
  }
37
52
  writeFileSync(authPath, JSON.stringify(auth, null, 2), "utf-8");
38
53
  }
54
+ function syncAuthJson(creds) {
55
+ for (const authPath of getAuthJsonPaths()) {
56
+ syncToPath(authPath, creds);
57
+ }
58
+ }
39
59
  function refreshViaCli() {
40
60
  try {
41
61
  execSync("claude -p . --model haiku", {
@@ -62,6 +82,159 @@ function refreshIfNeeded() {
62
82
  }
63
83
  return null;
64
84
  }
85
+ function isCredentialUsable(creds) {
86
+ return creds.expiresAt > Date.now() + 60_000;
87
+ }
88
+ export function getCachedCredentials() {
89
+ const now = Date.now();
90
+ if (cachedCredentials &&
91
+ now - cachedCredentialsAt < CREDENTIAL_CACHE_TTL_MS &&
92
+ isCredentialUsable(cachedCredentials)) {
93
+ return cachedCredentials;
94
+ }
95
+ const latest = refreshIfNeeded();
96
+ if (!latest) {
97
+ cachedCredentials = null;
98
+ cachedCredentialsAt = 0;
99
+ return null;
100
+ }
101
+ cachedCredentials = latest;
102
+ cachedCredentialsAt = now;
103
+ return latest;
104
+ }
105
+ export function buildRequestHeaders(input, init, accessToken, modelId = "unknown") {
106
+ const headers = new Headers();
107
+ if (input instanceof Request) {
108
+ input.headers.forEach((value, key) => {
109
+ headers.set(key, value);
110
+ });
111
+ }
112
+ if (init.headers instanceof Headers) {
113
+ init.headers.forEach((value, key) => {
114
+ headers.set(key, value);
115
+ });
116
+ }
117
+ else if (Array.isArray(init.headers)) {
118
+ for (const [key, value] of init.headers) {
119
+ if (typeof value !== "undefined") {
120
+ headers.set(key, String(value));
121
+ }
122
+ }
123
+ }
124
+ else if (init.headers) {
125
+ for (const [key, value] of Object.entries(init.headers)) {
126
+ if (typeof value !== "undefined") {
127
+ headers.set(key, String(value));
128
+ }
129
+ }
130
+ }
131
+ const modelBetas = getModelBetas(modelId);
132
+ const incomingBeta = headers.get("anthropic-beta") ?? "";
133
+ const mergedBetas = [...new Set([...modelBetas, ...incomingBeta.split(",").map((item) => item.trim()).filter(Boolean)])];
134
+ headers.set("authorization", `Bearer ${accessToken}`);
135
+ headers.set("anthropic-beta", mergedBetas.join(","));
136
+ headers.set("x-app", "cli");
137
+ headers.set("user-agent", `claude-cli/${CC_VERSION} (external, cli)`);
138
+ headers.set("x-anthropic-billing-header", getBillingHeader(modelId));
139
+ headers.delete("x-api-key");
140
+ return headers;
141
+ }
142
+ export function getBillingHeader(modelId) {
143
+ const entrypoint = "cli";
144
+ return `cc_version=${CC_VERSION}.${modelId}; cc_entrypoint=${entrypoint}; cch=00000;`;
145
+ }
146
+ export function getModelBetas(modelId) {
147
+ const betas = [...REQUIRED_BETAS];
148
+ const lower = modelId.toLowerCase();
149
+ // context-1m for opus/sonnet 4.6+ models
150
+ if (lower.includes("opus") || lower.includes("sonnet")) {
151
+ betas.push("context-1m-2025-08-07");
152
+ }
153
+ // haiku doesn't get claude-code-20250219
154
+ if (lower.includes("haiku")) {
155
+ const idx = betas.indexOf("claude-code-20250219");
156
+ if (idx !== -1)
157
+ betas.splice(idx, 1);
158
+ }
159
+ return betas;
160
+ }
161
+ export function transformBody(body) {
162
+ if (typeof body !== "string") {
163
+ return body;
164
+ }
165
+ try {
166
+ const parsed = JSON.parse(body);
167
+ if (Array.isArray(parsed.tools)) {
168
+ parsed.tools = parsed.tools.map((tool) => ({
169
+ ...tool,
170
+ name: tool.name ? `${TOOL_PREFIX}${tool.name}` : tool.name,
171
+ }));
172
+ }
173
+ if (Array.isArray(parsed.messages)) {
174
+ parsed.messages = parsed.messages.map((message) => {
175
+ if (!Array.isArray(message.content)) {
176
+ return message;
177
+ }
178
+ return {
179
+ ...message,
180
+ content: message.content.map((block) => {
181
+ if (block.type !== "tool_use" || typeof block.name !== "string") {
182
+ return block;
183
+ }
184
+ return {
185
+ ...block,
186
+ name: `${TOOL_PREFIX}${block.name}`,
187
+ };
188
+ }),
189
+ };
190
+ });
191
+ }
192
+ return JSON.stringify(parsed);
193
+ }
194
+ catch {
195
+ return body;
196
+ }
197
+ }
198
+ export function stripToolPrefix(text) {
199
+ return text.replace(/"name"\s*:\s*"mcp_([^"]+)"/g, '"name": "$1"');
200
+ }
201
+ export function transformResponseStream(response) {
202
+ if (!response.body) {
203
+ return response;
204
+ }
205
+ const reader = response.body.getReader();
206
+ const decoder = new TextDecoder();
207
+ const encoder = new TextEncoder();
208
+ let buffer = "";
209
+ const stream = new ReadableStream({
210
+ async pull(controller) {
211
+ for (;;) {
212
+ const boundary = buffer.indexOf("\n\n");
213
+ if (boundary !== -1) {
214
+ const completeEvent = buffer.slice(0, boundary + 2);
215
+ buffer = buffer.slice(boundary + 2);
216
+ controller.enqueue(encoder.encode(stripToolPrefix(completeEvent)));
217
+ return;
218
+ }
219
+ const { done, value } = await reader.read();
220
+ if (done) {
221
+ if (buffer) {
222
+ controller.enqueue(encoder.encode(stripToolPrefix(buffer)));
223
+ buffer = "";
224
+ }
225
+ controller.close();
226
+ return;
227
+ }
228
+ buffer += decoder.decode(value, { stream: true });
229
+ }
230
+ },
231
+ });
232
+ return new Response(stream, {
233
+ status: response.status,
234
+ statusText: response.statusText,
235
+ headers: response.headers,
236
+ });
237
+ }
65
238
  const SYNC_INTERVAL = 5 * 60 * 1000; // 5 minutes
66
239
  const plugin = async () => {
67
240
  let creds = null;
@@ -77,8 +250,13 @@ const plugin = async () => {
77
250
  "Plugin disabled. Run `claude` to authenticate.");
78
251
  return {};
79
252
  }
80
- // Sync credentials to auth.json on startup
81
- syncAuthJson(creds);
253
+ const freshCreds = getCachedCredentials();
254
+ if (freshCreds) {
255
+ syncAuthJson(freshCreds);
256
+ }
257
+ else {
258
+ console.warn("opencode-claude-auth: Claude credentials are expired and could not be refreshed via Claude CLI.");
259
+ }
82
260
  // Keep auth.json synced, refreshing via CLI if token is near expiry
83
261
  setInterval(() => {
84
262
  try {
@@ -91,7 +269,67 @@ const plugin = async () => {
91
269
  // Non-fatal
92
270
  }
93
271
  }, SYNC_INTERVAL);
94
- return {};
272
+ return {
273
+ "experimental.chat.system.transform": async (input, output) => {
274
+ if (input.model?.providerID !== "anthropic") {
275
+ return;
276
+ }
277
+ const hasIdentityPrefix = output.system.some((entry) => entry.includes(SYSTEM_IDENTITY_PREFIX));
278
+ if (!hasIdentityPrefix) {
279
+ output.system.unshift(SYSTEM_IDENTITY_PREFIX);
280
+ }
281
+ },
282
+ auth: {
283
+ provider: "anthropic",
284
+ async loader(getAuth, provider) {
285
+ const auth = await getAuth();
286
+ if (auth.type !== "oauth") {
287
+ return {};
288
+ }
289
+ for (const model of Object.values(provider.models)) {
290
+ model.cost = {
291
+ input: 0,
292
+ output: 0,
293
+ cache: { read: 0, write: 0 },
294
+ };
295
+ }
296
+ return {
297
+ apiKey: "",
298
+ async fetch(input, init) {
299
+ const latest = getCachedCredentials();
300
+ if (!latest) {
301
+ throw new Error("Claude Code credentials are unavailable or expired. Run `claude` to refresh them.");
302
+ }
303
+ const requestInit = init ?? {};
304
+ const bodyStr = typeof requestInit.body === "string" ? requestInit.body : undefined;
305
+ let modelId = "unknown";
306
+ if (bodyStr) {
307
+ try {
308
+ modelId = JSON.parse(bodyStr).model ?? "unknown";
309
+ }
310
+ catch { }
311
+ }
312
+ const headers = buildRequestHeaders(input, requestInit, latest.accessToken, modelId);
313
+ const body = transformBody(requestInit.body);
314
+ const response = await fetch(input, {
315
+ ...requestInit,
316
+ body,
317
+ headers,
318
+ });
319
+ return transformResponseStream(response);
320
+ },
321
+ };
322
+ },
323
+ methods: [
324
+ {
325
+ provider: "anthropic",
326
+ label: "Manually enter API Key",
327
+ type: "api",
328
+ },
329
+ ],
330
+ },
331
+ };
95
332
  };
333
+ export const ClaudeAuthPlugin = plugin;
96
334
  export default plugin;
97
335
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-claude-auth",
3
- "version": "0.5.6",
3
+ "version": "0.6.0",
4
4
  "description": "OpenCode plugin that uses your Claude Code credentials — no separate login needed.",
5
5
  "preferGlobal": true,
6
6
  "main": "dist/index.js",
@@ -9,6 +9,7 @@
9
9
  "type": "module",
10
10
  "files": [
11
11
  "dist",
12
+ "claude-auth-plugin.js",
12
13
  "installation.md"
13
14
  ],
14
15
  "scripts": {