fix: Remove hide Claude auth flag handling (#707)

Now that the terms are clear, we can let people use their credits if
they like in all scenarios.
This commit is contained in:
Ben Brandt
2026-05-27 22:49:45 +02:00
committed by GitHub
parent 694221a412
commit 7ed1daf7b4
2 changed files with 2 additions and 94 deletions

View File

@@ -330,10 +330,6 @@ function isMuslLibc(): boolean {
return !report?.header?.glibcVersionRuntime;
}
function shouldHideClaudeAuth(): boolean {
return process.argv.includes("--hide-claude-auth");
}
// Bypass Permissions doesn't work if we are a root/sudo user
const IS_ROOT = (process.geteuid?.() ?? process.getuid?.()) === 0;
const ALLOW_BYPASS = !IS_ROOT || !!process.env.IS_SANDBOX;
@@ -564,7 +560,7 @@ export class ClaudeAcpAgent implements Agent {
};
}
if (!shouldHideClaudeAuth() && (supportsTerminalAuth || supportsMetaTerminalAuth)) {
if (supportsTerminalAuth || supportsMetaTerminalAuth) {
terminalAuthMethods.push(remoteLoginMethod);
}
} else {
@@ -602,10 +598,8 @@ export class ClaudeAcpAgent implements Agent {
};
}
if (!shouldHideClaudeAuth() && (supportsTerminalAuth || supportsMetaTerminalAuth)) {
terminalAuthMethods.push(claudeLoginMethod);
}
if (supportsTerminalAuth || supportsMetaTerminalAuth) {
terminalAuthMethods.push(claudeLoginMethod);
terminalAuthMethods.push(consoleLoginMethod);
}
}
@@ -2145,17 +2139,6 @@ export class ClaudeAcpAgent implements Agent {
throw error;
}
if (
shouldHideClaudeAuth() &&
initializationResult.account.subscriptionType &&
!this.gatewayAuthRequest
) {
throw RequestError.authRequired(
undefined,
"This integration does not support using claude.ai subscriptions.",
);
}
// Apply user's `availableModels` allowlist from settings.json before any
// downstream model handling. The SDK only enforces this allowlist in its
// own UI, not in `initializationResult.models`, so we filter here to keep

View File

@@ -163,63 +163,6 @@ describe("authorization", () => {
);
});
it("hide claude authentication without terminal-auth", async () => {
const [agent] = await createAgentMock();
vi.stubGlobal("process", { ...process, argv: ["--hide-claude-auth"] });
const initializeResponse = await agent.initialize({
protocolVersion: 1,
clientCapabilities: {
auth: { _meta: { gateway: true } },
} as any,
});
expect(initializeResponse.authMethods).not.toContainEqual(
expect.objectContaining({ id: "claude-ai-login" }),
);
expect(initializeResponse.authMethods).not.toContainEqual(
expect.objectContaining({ id: "console-login" }),
);
expect(initializeResponse.authMethods).toContainEqual(
expect.objectContaining({ id: "gateway" }),
);
});
it("hide claude auth but still show console login when terminal-auth is set", async () => {
const [agent] = await createAgentMock();
vi.stubGlobal("process", { ...process, argv: ["--hide-claude-auth"] });
const initializeResponse = await agent.initialize({
protocolVersion: 1,
clientCapabilities: {
_meta: { "terminal-auth": true },
},
});
expect(initializeResponse.authMethods).not.toContainEqual(
expect.objectContaining({ id: "claude-ai-login" }),
);
expect(initializeResponse.authMethods).toContainEqual(
expect.objectContaining({ id: "console-login" }),
);
});
it("hide claude auth but still show console login with terminal capability", async () => {
const [agent] = await createAgentMock();
vi.stubGlobal("process", { ...process, argv: ["--hide-claude-auth"] });
const initializeResponse = await agent.initialize({
protocolVersion: 1,
clientCapabilities: {
auth: { terminal: true },
},
});
expect(initializeResponse.authMethods).not.toContainEqual(
expect.objectContaining({ id: "claude-ai-login" }),
);
expect(initializeResponse.authMethods).toContainEqual(
expect.objectContaining({ id: "console-login" }),
);
});
it("SSH session falls back to single legacy login method", async () => {
const [agent] = await createAgentMock();
vi.stubGlobal("process", { ...process, env: { ...process.env, SSH_TTY: "/dev/pts/0" } });
@@ -260,24 +203,6 @@ describe("authorization", () => {
);
});
it("remote environment respects hide-claude-auth", async () => {
const [agent] = await createAgentMock();
vi.stubGlobal("process", {
...process,
argv: ["--hide-claude-auth"],
env: { ...process.env, SSH_CONNECTION: "192.168.1.1 12345 192.168.1.2 22" },
});
const initializeResponse = await agent.initialize({
protocolVersion: 1,
clientCapabilities: { auth: { terminal: true } },
});
expect(initializeResponse.authMethods).not.toContainEqual(
expect.objectContaining({ id: "claude-login" }),
);
});
it("show claude authentication", async () => {
const [agent] = await createAgentMock();