[Feature Request] Add programmatic theme control API and system theme change detection

Resolved 💬 3 comments Opened Dec 1, 2025 by adamcarr-blueocean Closed Jan 30, 2026

Bug Description
I would love to have programmatic ability to set the theme from dark to light. Ideally even further with custom highlighting beyond just dark and light. I used omarchy, and now am using my own setup based on omarchy approaches and would love for an ability to make an api call or config call to change the theme when the system theme changes. I also assume this is done or would need to be done when a vscode theme changes, so either there is some support for it now or that would be a high priority area to provide support.

Environment Info

  • Platform: linux
  • Terminal: ghostty
  • Version: 2.0.55
  • Feedback ID: b4173253-9f19-4403-af2d-53d90b1023f2

Errors

[{"error":"Error: Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the \"X-Api-Key\" or \"Authorization\" headers to be explicitly omitted\n    at LT.validateHeaders (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:1312:1008)\n    at LT.buildHeaders (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:1312:8501)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async LT.buildRequest (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:1312:7559)\n    at async LT.makeRequest (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:1312:3387)\n    at async IK9.a81.model (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:3946:10432)\n    at async a81 (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:2139:1872)\n    at async IK9 (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:3946:10586)\n    at async file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:3946:3631\n    at async Po1 (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:1464:2037)","timestamp":"2025-11-30T23:26:59.720Z"},{"error":"AxiosError: Request failed with status code 404\n    at kj (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:24:1137)\n    at Unzip.<anonymous> (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:29:9864)\n    at Unzip.emit (node:events:520:35)\n    at Unzip.emit (node:domain:489:12)\n    at endReadableNT (node:internal/streams/readable:1701:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:89:21)\n    at EVA.request (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:31:2130)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async uh2 (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:2550:1057)\n    at async mh2 (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:2550:2094)\n    at async Object.call (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:2550:8584)\n    at async Hm5 (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:2284:16733)","timestamp":"2025-11-30T23:58:35.210Z"},{"error":"AxiosError: Request failed with status code 404\n    at kj (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:24:1137)\n    at Unzip.<anonymous> (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:29:9864)\n    at Unzip.emit (node:events:520:35)\n    at Unzip.emit (node:domain:489:12)\n    at endReadableNT (node:internal/streams/readable:1701:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:89:21)\n    at EVA.request (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:31:2130)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async uh2 (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:2550:1057)\n    at async mh2 (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:2550:2094)\n    at async Object.call (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/cli.js:2550:8584)\n    at async Hm5 (file:///home/adamcarr/.local/share/mise/installs/node/25.2.1/lib/node_modules/@anthropic-ai/claude-code/

Note: Error logs were truncated.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗