SpyBara
Go Premium

errors.md 2026-11-09 23:02 UTC to 2026-11-10 21:57 UTC

This page contains 1130 additions and 1001 deletions.

2026
Mon 2 23:57 Tue 3 23:58 Wed 4 23:59 Fri 6 23:01 Mon 9 23:02 Tue 10 21:57 Wed 11 22:59 Thu 12 21:00

Referensi kesalahan

Cari pesan kesalahan runtime Claude Code dengan arti masing-masing dan cara memperbaikinya.

Halaman ini mencantumkan kesalahan runtime yang ditampilkan Claude Code dan cara memulihkan dari masing-masing, ditambah apa yang harus diperiksa ketika respons tampak tidak normal tanpa kesalahan. Untuk kesalahan instalasi seperti command not found atau kegagalan TLS selama penyiapan, lihat Troubleshoot installation and login.

Kecuali untuk Wrapper and IDE errors, yang dicetak oleh program peluncur daripada Claude Code itu sendiri, kesalahan dan perintah pemulihan ini berlaku di seluruh CLI, Desktop app, dan cloud sessions, karena ketiganya membungkus CLI Claude Code yang sama. Untuk masalah spesifik surface lainnya, lihat bagian pemecahan masalah di halaman surface tersebut.

[!NOTE]

Claude Code memanggil Claude API untuk respons model, jadi sebagian besar kesalahan runtime memetakan ke kode kesalahan API yang mendasar. Halaman ini mencakup apa arti setiap kesalahan di dalam Claude Code dan cara memulihkan. Untuk definisi kode status HTTP mentah, lihat Claude Platform error reference.

Temukan kesalahan Anda

Cocokkan pesan yang Anda lihat dengan bagian di bawah ini.

Pesan Bagian
API Error: 500 Internal server error Server errors
API Error: Repeated 529 Overloaded errors Server errors
Opus is experiencing high load / Fable is experiencing high load Server errors
Request timed out Server errors, atau Network jika pesan menyebutkan koneksi internet Anda
API Error: No response from API Server errors
API Error: Stream idle timeout - no chunks received Streaming idle watchdogs, atau Long thinking ends in proxy timeouts di belakang gateway aplikasi Claude
Server error mid-response. The response above may be incomplete. Server errors
Connection lost mid-response / Your computer went to sleep mid-response / The response stopped arriving Server errors
Connection closed mid-response / Response stalled mid-stream Server errors
Part of the response never arrived / The response stream was malformed Server errors
API Error: Content block not found / API Error: Content block already closed / API Error: Stream event unreadable Server errors
Connection lost before a response was produced / Your computer went to sleep before a response was produced / The response stalled before a response was produced Automatic retries
Connection closed while thinking / Response stalled while thinking Automatic retries
Connection lost while your computer was asleep Automatic retries
The model's tool call could not be parsed (retry also failed). Automatic retries
<model> is temporarily unavailable, so auto mode cannot determine the safety of... Server errors
Auto mode could not evaluate this action and is blocking it for safety Server errors
Not run · auto mode's check had no usable answer Server errors
Auto mode classifier transcript exceeded context window Server errors
Agent aborted: auto mode classifier request refused by the safety safeguard Server errors
The server-side auto mode classifier gave no verdict Server errors
<tool> was not reviewed and did not run: the conversation is too long for auto mode's classifier Server errors
Auto mode is unavailable — the server returned no safety verdict for the last 10 responses Server errors
Agent terminated early due to an API error Server errors
You've hit your session limit / You've hit your weekly limit / You've hit your Opus limit / You've hit your Sonnet limit Usage limits
Usage credits required for 1M context Usage limits
the prompt to confirm went unanswered — nothing was sent Usage limits
Server is temporarily limiting requests Usage limits
Request rejected (429) Usage limits
Credit balance is too low Usage limits
You've hit your monthly spend limit / You've hit your individual spend limit / You've hit your org's monthly spend limit / You've hit your channel's monthly spend limit / You've hit your team's shared budget / You've hit your individual usage limit Usage limits
Could not update your spend limit Usage limits
spend limit reached / spend limit unavailable / This request exceeds your group's budget Batas penggunaan
Not logged in · Please run /login Authentication
Couldn't save your login Authentication
Sign in again to take your previous account or API key off the config file. Autentikasi
Your account or API key may still be in the config file. Run claude auth logout. Autentikasi
Authentication required · Sign in again to continue Authentication
Could not resolve authentication method Authentication
Invalid API key Authentication
Your apiKeyHelper script is failing Authentication
Your organization's settings need an update Autentikasi
Couldn't load your organization's settings. Check your connection Autentikasi
Restart Claude Code to finish signing in Autentikasi
Invalid auth token · Fix external auth token Authentication
Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable Authentication
Invalid request header from the environment · Fix the environment variable Authentication
This organization has been disabled Authentication
Your organization has disabled API key authentication Authentication
Your organization has disabled Claude subscription access Authentication
Scheduled tasks are off for your organization Autentikasi
Routines are off for your organization Autentikasi
Remote Control is only available when using Claude via api.anthropic.com Authentication
OAuth token refresh failed — run /login to re-authenticate Authentication
JWT refresh failed: no OAuth token — run /login Authentication
Claude.ai login expired Authentication
Claude.ai login was rejected — run /login, then /remote-control Authentication
OAuth token unavailable — run /login to restore Remote Control Authentication
Signed out of Claude — run /login, then /remote-control Authentication
Remote Control could not renew this computer's connection Authentication
signed-in claude.ai account or organization changed on this machine Authentication
Remote Control stopped — the app running this session is now signed in to a different Claude account Authentication
Remote Control stopped — the app running this session is signed out of Claude Authentication
Couldn't verify your organization's policy for remote control Troubleshoot Remote Control
Remote Control is disabled by your organization's policy Troubleshoot Remote Control
Remote Control was turned off by your organization's policy Troubleshoot Remote Control
Session failed: working folder not found: Pemecahan masalah Remote Control
The program file this Remote Control started from is gone Pemecahan masalah Remote Control
Session failed: spawn error: diikuti pesan ENOENT Pemecahan masalah Remote Control
OAuth token revoked / OAuth token has expired Authentication
Failed to authenticate: OAuth token revoked Authentication
Your account does not have access to Claude. Please login again or contact your administrator. Authentication
API Error: 401 Invalid authentication credentials Authentication
Login expired · Please run /login Authentication
The browser can't return the sign-in to Claude Code automatically Authentication
Couldn't start the local listener that receives the browser sign-in. Try again. Authentication
Failed to start OAuth callback server Authentication
Claude login not accepted · Run /login, then try again Authentication
Artifacts need a claude.ai login Authentication
Not signed in to the Cloud gateway — run /login. Authentication
Administrator policy requires a Cloud gateway sign-in on this machine Authentication
Failed to authenticate: OAuth session expired and could not be refreshed Authentication
Could not refresh your login because another Claude Code process is refreshing it Authentication
Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh Authentication
Could not refresh your login: the disk that holds the Claude Code config directory (~/.claude by default), or your disk quota on it, is full Autentikasi
Failed to refresh OAuth token: the disk that holds the Claude Code config directory (~/.claude by default), or your disk quota on it, is full Autentikasi
Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted Authentication
Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted Authentication
Anthropic profile login expired · Re-authenticate your Anthropic profile Authentication
Login expired · Run /login to sign in again, or re-authenticate your Anthropic profile Authentication
Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile Authentication
does not meet scope requirement user:profile Authentication
claude.ai rejected the session token / session token rejected Authentication
MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate) Authentication
rejected the credential from its headersHelper / rejected the Authorization header in its config Authentication
(check the helper, then start a new task or chat) / (update it, then start a new task or chat) Authentication
MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate Authentication
MCP server "<name>" requires re-authorization (token expired) Authentication
Couldn't read the stored credentials for MCP server "<name>", so the request didn't run Authentication
A request to MCP server "<name>" was sent without your stored credentials Authentication
This server's URL is missing or not a valid URL, so sign-in can't start Authentication
Issuer mismatch in authorization response (RFC 9207) Authentication
Refusing to send credentials to non-https token endpoint / <short-name> from the MCP SDK for <server-url> Authentication
Cloud gateway session expired — run /login to reconnect. Authentication
Cloud gateway <url> no longer accepts this session Authentication
Sign-in timed out while waiting for you to continue. Try again. Authentication
AWS credentials expired or invalid Authentication
AWS authentication failed Authentication
Google Cloud credentials expired or invalid Authentication
Google Cloud authentication failed Authentication
Microsoft Foundry authentication failed Authentication
Gateway refused the request Authentication
Could not load AWS credentials / Could not load Google Cloud credentials Authentication
AWS default-chain credential resolve timed out Authentication
Timed out after 60s waiting for AWS Authentication
A request to AWS timed out. Check your network and proxy settings, then try again. Authentication
Could not load the default credentials pada Google Cloud's Agent Platform Authentication
Unable to connect to API Network
Connection refused — / Can't reach the API server — / No internet route — / Couldn't connect through your proxy / Connection dropped, masing-masing dengan kode kesalahan dalam tanda kurung Network
Unable to connect to Anthropic services selama penyiapan Network
Socket is closed Network
Waiting for API response · will retry in Automatic retries, atau Network jika terus berlanjut
API returned an empty or malformed response Network
Streaming response ended before any complete data was received Network
Bedrock streaming response has content-type "..."; expected "application/vnd.amazon.eventstream" Network
SSL certificate verification failed Network
SSL certificate error (...) selama login atau startup Network
unable to get local issuer certificate Network
403 dengan x-deny-reason: host_not_allowed dalam sesi cloud atau tugas terjadwal cloud Network
proxy refused the connection Network
403 dengan GitHub GraphQL is not available from Claude Code sessions dalam sesi cloud GitHub proxy
The cloud environments service returned an empty response / The cloud environments service returned a response in an unexpected format Network
Failed to fetch session from Sessions API: Failed to fetch session logs Network
Couldn't reconnect to your Remote Control session Network
N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed. Network
Couldn't share the transcript. Network
Couldn't send feedback Network
Feedback payload too large. Try again without the transcript, or shorten the details. Jaringan
MCP server "<name>" connection timed out. Your computer went to sleep or its clock changed while connecting. Network
Prompt is too long / Input is too long for requested model Request errors
Prompt is too long · automatic compaction failed: Request errors
Prompt is too long · this conversation is a single exchange / A single-exchange conversation cannot be compacted Request errors
Context limit reached · /compact or /clear to continue Request errors
Context limit reached · /clear to continue Request errors
capability_rejected: prompt_too_long pada sesi gateway aplikasi Claude Request errors
upstream rejected the request / request too large for this upstream pada sesi gateway aplikasi Claude Upstream error messages
upstream rate limit exceeded pada sesi gateway aplikasi Claude Upstream error messages
all upstreams failed (N attempted) pada sesi gateway aplikasi Claude Upstream error messages
Claude Code may not be enabled for your organization setelah login gateway aplikasi Claude Claude apps gateway troubleshooting
Context exceeds the ...-token limit by ... tokens dalam output /context Request errors
Request too large Request errors
Request too large for the API's 32MB request limit Request errors
Image was too large Request errors
API Error: an image in the conversation could not be processed and was removed Request errors
An image in the conversation exceeds the dimension limit for many-image requests Kesalahan permintaan
Unable to resize image Request errors
Request rejected as unprocessable by the model Request errors
PDF too large / PDF is password protected / pdftoppm is not installed Request errors
Extra inputs are not permitted Request errors
API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid / Property keys should match pattern Request errors
Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 128 Request errors
tools.N.custom.name: String should have at most 128 characters Request errors
tool_use.name: String should have at most 200 characters Request errors
There's an issue with the selected model Request errors
Model ... is not a recognized model id Request errors
Model ... not found Request errors
Couldn't confirm model ... with the API Request errors
API error: ... · model not changed Request errors
Claude Opus is not available with the Claude Pro plan Request errors
Claude Code ... does not support this model; version ... or newer is required Request errors
Claude Code ... is older than the minimum version required by your organization's policy Request errors
Model ... is restricted by your organization's settings Request errors
Model ... is not available. Your organization restricts model selection. Request errors
Can't switch to the default model Request errors
Model switch ... blocked by a PreModelSwitch hook Request errors
couldn't save it as your default / couldn't confirm it was saved as your default Request errors
is less capable than the current main model / Advisor will not activate on the main model / cannot advise Request errors
thinking.type.enabled is not supported for this model Request errors
Effort '<level>' isn't available with thinking turned off on this model Request errors
effort '<level>' is not supported when thinking is disabled Request errors
max_tokens must be greater than thinking.budget_tokens Request errors
Claude's response exceeded the ... output token maximum Request errors
API Error: 400 due to tool use concurrency issues Request errors
API Error: 400 orphaned tool_result in conversation history Request errors
API Error: 400 duplicate tool_use ID in conversation history Request errors
Invalid data in redacted_thinking block Request errors
[Unsupported tool content removed] Request errors
role 'system' must precede an 'assistant' message Request errors
Invalid encrypted_content in search_result block / Invalid encrypted_index in text block / Failed to decrypt web search result content Request errors
Invalid encrypted_stdout in encrypted_code_execution_result block Request errors
server_tool_use.name: Input should be pada setiap giliran sesi yang dilanjutkan Request errors
<model> can't help with this. Start a new session to continue Request errors
Claude Code is unable to respond to this request, which appears to violate our Usage Policy Request errors
<model>'s safeguards flagged this message Request errors
<model>'s safeguards flagged this session Request errors
<model> has safety measures that flagged this message for a cybersecurity topic Request errors
Details: `[reasoning_extraction]` Request errors
API Error: Output blocked by content filtering policy Request errors
Installation was killed before it could finish (exit code 137) Troubleshoot installation and login
The connection dropped while downloading the update Troubleshoot installation and login
Download timed out: exceeded the total deadline Troubleshoot installation and login
Release verification failed for Claude Code <version> (<reason>). The update was not installed. Troubleshoot installation and login
Auto-update failed · Run claude doctor Troubleshoot installation and login
--bg and --print conflict Command-line errors
Couldn't tell whether --bg is a flag or text here, so nothing was started Command-line errors
Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one. Command-line errors
Cloud sessions cannot be created from a --restricted session Command-line errors
Cloud sessions are disabled by your organization's policy Command-line errors
Cloud sessions use your claude.ai login, di akhir penolakan kebijakan yang menyebutkan kredensial Command-line errors
Couldn't verify your organization's policy for cloud sessions Command-line errors
Cloud sessions aren't available: diikuti alasan mengapa kebijakan organisasi Anda tidak dapat dimuat Command-line errors
Cloud sessions aren't available with this Console sign-in. They need a claude.ai sign-in. Unable to get organization UUID
Cloud sessions need a claude.ai sign-in Unable to get organization UUID
Nothing was stashed: "<path>" is now a folder in place of a tracked file or link / are now folders in place of tracked files or links Command-line errors
Error: --json-schema is not a valid JSON Schema Command-line errors
Error: Invalid --agents configuration: Command-line errors
Error: --agents takes a JSON object, or a file path only with --print (-p) Command-line errors
Error: --agents file not found Command-line errors
Error: Settings file exceeds the 2MiB limit Command-line errors
Configuration error in Kesalahan baris perintah
Claude configuration file at <path> was empty and no backup holds anything: starting with defaults. Kesalahan baris perintah
The current directory no longer exists (it was deleted or moved) / Can't read the current directory Command-line errors
Temp directory <dir> ... Refusing to use it / Claude Code's temporary directory <dir> could not be created Command-line errors
ENOSPC: no space left on device, mkdir '<dir>' Command-line errors
Error: Claude Code could not save ... because the disk is full (ENOSPC) / because your disk quota is used up (EDQUOT) Kesalahan command-line
couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded Command-line errors
Error: Workspace not trusted saat memulai Remote Control Command-line errors
Error: Workspace not trusted saat menjalankan claude ultrareview Command-line errors
Ultrareview did not start Command-line errors
Remote Control did not start: "<question>" got no answer Kesalahan command-line
`<flag>` before `remote-control` is not carried over to the sessions Remote Control starts Command-line errors
--sandbox is not supported by claude remote-control / --no-sandbox is not supported by claude remote-control Command-line errors
`claude import` is not yet available in this build Command-line errors
Could not read Claude Code config Command-line errors
Could not import <server>: <reason> Command-line errors
Cannot add MCP server to scope: managed Command-line errors
Cannot add MCP server: your organization's managed settings allow only MCP servers that plugins provide Command-line errors
is Anthropic-hosted and doesn't support local OAuth Command-line errors
Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes Command-line errors
MCP server "<name>" was not saved to / was not removed from Command-line errors
MCP server "<name>" may not have been saved / may not have been removed Command-line errors
Server rejected the Authorization header minted by the configured headersHelper Command-line errors
This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability Error baris perintah
Error: MCP tool <name> (passed via --permission-prompt-tool) not found Command-line errors
OAuth callback port <port> is already in use — another process may be holding it Command-line errors
No available ports for OAuth redirect Command-line errors
Shell command failed for pattern "...", dari /security-review atau skill apa pun yang menyuntikkan konteks dinamis Command-line errors
Shell command permission check failed for pattern "...", dari skill yang menyuntikkan konteks dinamis Command-line errors
Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found Command-line errors
No shell command in <name> was run, because the <tool> tool does not accept one of them Command-line errors
Input must be provided either through stdin or as a prompt argument when using --print Command-line errors
Claude Code can't read the keyboard here: stdin is not a terminal Command-line errors
Error: Input contained only whitespace Command-line errors
Blank prompt — the message was only whitespace, so nothing was sent to the model. Command-line errors
Error: stream-json input carried over 256M characters with no newline Command-line errors
Unknown command: /<name>, dengan atau tanpa saran Did you mean Command-line errors
Diff is too large for ultrareview / PR #<N> is too large for ultrareview Command-line errors
Could not find merge-base with <branch> Command-line errors
Your checkout has no branches (detached HEAD only) Command-line errors
Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected Command-line errors
Your connected GitHub account can't see <owner>/<repo> Command-line errors
The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead Command-line errors
Not uploading this working tree dengan the upload cannot follow that setting Command-line errors
GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud Command-line errors
Your GitHub organization has an IP allowlist that is blocking Claude Command-line errors
Your GitHub organization requires single sign-on Command-line errors
Your GitHub organization's identity provider (Microsoft Entra ID) has a Conditional Access policy that is blocking Claude Command-line errors
Single sign-on authorization needed Command-line errors
Failed to resume the conversation Command-line errors
No conversation found with session ID: <session-id> Command-line errors
Windows reported an error (EBADF) when Claude Code read this session's transcript file Command-line errors
Cannot switch renderers in this session Command-line errors
Cannot switch renderers while work is running in the background Command-line errors
Can't restart while work is running in the background — wait for it to finish (or stop it via /tasks), then try again. Kesalahan baris perintah
Can't restart while Remote Control is connected. To use the installed version, exit and start Claude Code again, then run /resume. Kesalahan baris perintah
Claude Code couldn't restart Command-line errors
Couldn't open Claude Desktop Command-line errors
Failed to open Claude Desktop. Please try opening it manually. Command-line errors
Couldn't read your Zed keymap / Couldn't back up your Zed keymap / Couldn't update your Zed keymap Command-line errors
Your Zed keymap isn't a readable list of keybindings Command-line errors
Skill usage reports are not available on this connection. Command-line errors
Custom output styles can't be selected over Remote Control or from a relayed message Command-line errors
Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load Command-line errors
/recap only runs when you ask for it yourself in this session Command-line errors
/feedback is disabled by your organization's policy, atau hal yang sama untuk /bug atau /share Command-line errors
`plugin eval` is currently in early access / `plugin eval` is currently unavailable Plugin errors
cannot be evaluated where sessions load it Test plugins with evals
Marketplace "<name>" is registered from an untrusted source Plugin errors
Claude Code refuses the marketplace name "<name>" Plugin errors
Marketplace name impersonates an official Anthropic/Claude marketplace Plugin errors
Marketplace "<name>" is already added from a different source Plugin errors
"<name>" is another spelling of "<reserved>", a reserved marketplace name Plugin errors
Cannot add marketplace "<name>": Claude Code cannot install plugins from a marketplace with this name Plugin troubleshooting
Cannot add marketplace "<name>": Claude Code reserves this name and cannot register a marketplace under it Plugin troubleshooting
Marketplace "<name>" is added but ignored Plugin troubleshooting
Marketplace "<name>" is registered but was refused (see the debug log) Plugin troubleshooting
references ${user_config.*} in a shell-form command Plugin errors
Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command Plugin errors
headersHelper for MCP server '<name>' references ${user_config.*} Plugin errors
Plugin archive integrity check failed Plugin errors
An npm plugin source must name a registry package Plugin troubleshooting
The packages it lists are not installed / The packages it lists were not installed, because Plugin troubleshooting
does not load (...), so Claude Code ignores the whole file Plugin troubleshooting
path escapes plugin directory Plugin errors
path not read: <path> is absolute or has a ".." part Kesalahan plugin
Plugin not loaded: its manifest <path> was not read Plugin errors
path could not be checked Plugin errors
its marketplace entry path does not stay inside the marketplace directory Plugin errors
Plugin source path refused Plugin errors
Failed to load marketplace configuration Plugin errors
Marketplace configuration file is corrupted Plugin errors
Plugin "<name>@synced" is required by your organization and can't be disabled here Plugin errors
"<plugin>" was not uninstalled: it is still switched on in <file> Plugin errors
"<plugin>" was not uninstalled: <file> is there and could not be read Plugin errors
Plugin "<plugin>" was not uninstalled: installed_plugins.json Plugin troubleshooting
Plugin directory does not exist: <path> Plugin troubleshooting
Skipping connection (recent failure cached; retries automatically in 15 min, or edit the plugin config to retry now) Plugin errors
Error: No such tool available: <tool name> Tool errors
MCP server "<name>" connection closed before the tool call was answered Tool errors
MCP server "<name>" is disabled — re-enable it via /mcp to use its tools Error tool
MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit. Tool errors
Permission prompt tool returned an invalid result Kesalahan tool
would be spawned with zero tools — refusing Tool errors
File is covered by a Read deny rule in your permission settings Tool errors
<path> is outside <dirs>; the permissions.blockWritesOutsideWorkingDirectories setting blocks writes outside the working directories Error tool
<path>: Writes outside the working directories are blocked (permissions.blockWritesOutsideWorkingDirectories) Error tool
Writes to Claude Code settings files are blocked while permissions.blockWritesOutsideWorkingDirectories is on Error tool
cannot contain null bytes (\0) Tool errors
Path contains null bytes Tool errors
command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run Kesalahan tool
This call was not run. The command was approved before Claude Code restarted Kesalahan tool
File is too large to read as an image (the limit is 128MB) Tool errors
Cannot read this as an image: <path> is a pipe or a device Tool errors
subagent_type is required: the general-purpose agent is not available in this session Tool errors
Error: this write left the memory index at MEMORY.md at ..., over its ... read limit Tool errors
Sandbox is required but failed to initialize: <reason> Pemecahan masalah sandboxing
Sandbox is required (sandbox.failIfUnavailable) and stopped being available in this session: <reason> Pemecahan masalah sandboxing
pkill: refusing to run Tool errors
Failed to write to <name>'s inbox — nothing was sent Tool errors
Failed to write the plan approval request to the lead's inbox — plan not submitted Tool errors
Its agent definition was not restored: the folder its definition file came from is not trusted Tool errors
Only a teammate can approve a shutdown request Tool errors
A command-line deny rule cannot be handed to a teammate intact Error tool
Message too large for cross-session delivery Tool errors
Too many messages to this session just now Tool errors
Cross-session message was dropped at the recipient session's inbox Tool errors
Refusing to send: reply target is a symlink / Refusing to send: cannot vet reply target Tool errors
Refusing to read <path>: its symlink resolution changed after permission was checked (<reason>) / Refusing to search <path>: its symlink resolution changed after permission was checked Tool errors
Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked / Refusing to write <path>: it is a symbolic link. Write to the link's target path instead Tool errors
Refusing to write through symlink: <path> / Refusing to write into symlinked directory: <path> Tool errors
Refusing to write <path>: where it leads on disk could not be determined / Refusing to read <path>: where it leads on disk could not be determined Tool errors
Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared / Refusing to search <path>: it could not be opened Tool errors
its permission check expired before it ran (too many concurrent file operations) / ripgrep was found only by name on PATH Tool errors
The search failed, so this is not a "no matches" result: matches may exist Kesalahan tool
task output swap refused (tasks dir moved or linked) Tool errors
Command killed: its output file was replaced or could no longer be verified Tool errors
Disk full: this computer's volume holding <dir> (Claude Code's temporary directory) has <n> MB free / Nearly out of inodes: this computer's volume holding <dir> Tool errors
Disk full: a test write beside this command's output file / Disk quota used up: a test write beside this command's output file Tool errors
The command was not started: this computer's disk is full (ENOSPC) / the user's disk quota is used up (EDQUOT) Tool errors
Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT) / The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC) Tool errors
Command output was lost: the temp filesystem at <dir> is full / is out of inodes Tool errors
File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary Tool errors
git is not installed on this Mac. To install it, run xcode-select --install, then try again. Error tool
Refusing to apply edits to <path>: a hook is configured for file edits in this session Kesalahan tool
the source file is not valid UTF-8 text / the source file is not valid UTF-16 text Tool errors
the source file has the replacement character U+FFFD Tool errors
Not published: that file is on a network share Tool errors
Not published: Claude sent the same content again after a newer version of the artifact turned it away / Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away Tool errors
Reading a local file from outside this session's connected folders, or through a link, needs the approval card Tool errors
cannot read file_path (...) — the file could not be examined, and no one can answer the approval card Tool errors
WebFetch cannot fetch localhost or other hostnames without a dot Tool errors
The safety check for domain ... is rate-limited Tool errors
The safety check for domain ... is temporarily rate-limited Tool errors
Unable to verify if domain ... is safe to fetch Tool errors
MCP tool "<tool>" on server "<server>" gave no answer that could be read / answered without its text Cara hasil hook tool MCP dibaca
Can't open MCP settings while no terminal is attached to this background session Background session errors
Can't open MCP settings in a background session Background session errors
blocked because the path is spelled in a form that cannot be safely resolved Background session errors
blocked because the path is network-shaped Background session errors
is isolated in the worktree <path>, but this command <reason>. Refusing to run it Background session errors
too complex to verify that it stays inside the worktree Background session errors
This session has no saved transcript Background session errors
Can't open — this session is running in another terminal Background session errors
This conversation is already open in another running Claude session Background session errors
This session's saved conversation is no longer on disk Background session errors
This forked session could not be started. Fork the conversation again to retry. Kesalahan sesi latar belakang
Bypass permissions was requested at launch and ignored Bypass permissions ignored in a background session
kept <id> — its worktree is still at <path> Kesalahan sesi latar belakang jika baris berikutnya dari pesan menyebutkan commit yang belum di-push, jika tidak, Apa yang dihapus saat menghapus sesi
kept <id> — <n> unpushed commits on <branch> Background session errors
kept <id> — worktree has commits that are not pushed anywhere Background session errors
terminal host process died — press Enter to restart / This session's terminal host process died Background session errors
Session isn't responding / Press enter again to restart this session — it isn't responding Background session errors
Session <id> was stopped while the respawn was in flight Background session errors
This session was running agent '<name>', which is no longer available Background session errors
This session restarted <time> after its next /loop wakeup was due, so that wakeup will not fire Background session errors
No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder Background session errors
No LLM gateway: opened from another folder · respawn from <folder> Background session errors
CLAUDE_CODE_PROCESS_WRAPPER: launcher ... Background session errors
EUNKNOWN: unknown error, uv_spawn Background session errors
EACCES: permission denied, posix_spawn Background session errors
exited before it became reachable Background session errors
Couldn't start a background session (working directory no longer exists or is not accessible: ...) Background session errors
Workspace not trusted. saat memulai atau memulai ulang sesi latar belakang Background session errors
Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...) Background session errors
Claude Code process exited with code N Wrapper and IDE errors
The connection to Claude Code ended before this message completed Wrapper and IDE errors
Could not locate the Claude CLI on PATH Wrapper and IDE errors
The Claude Code program for this computer, the <build> build, could not be found Kesalahan wrapper dan IDE
Restored the code, but skipped N files Rewind warnings and errors
No files were restored: N files failed (backup missing, or the file could not be updated) Rewind warnings and errors
The file backups are still being copied. Nothing was changed. Try again in a moment. Pilih titik yang sama di /rewind lagi. Saat Anda memulihkan kode segera setelah /branch, Claude Code mungkin masih menyalin cadangan file ke sesi baru.
Transcript writes are failing (...) Session saving warnings
Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set Session saving warnings
Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker Session saving warnings
Claude Code's fullscreen renderer didn't finish starting last time on this machine / Claude Code's fullscreen renderer has repeatedly failed to start on this machine Fullscreen rendering
Claude Code exited after an unrecoverable interface error (...) Configuration warnings
Agent descriptions are over the 15.0k-token limit Configuration warnings
hook needs quotes around a path with a space Configuration warnings
Instruction file not loaded Configuration warnings
Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account Configuration warnings
N skill or command names refused: run with --debug to see which ([names]), rename, then restart Configuration warnings
Ignoring N permissions.allow entries from ... this workspace has not been trusted Configuration warnings
Two Claude Code config files exist: this run uses <path>, not <path> Peringatan konfigurasi
Make this change again later: <path> could not be updated, so it applies to this session only Peringatan konfigurasi
is a network path, which cannot be added as a working directory Configuration warnings
Remote managed settings failed to load (<cause>) Configuration warnings
Your organization requires remote managed settings to load, but they could not be loaded Terapkan startup fail-closed
Remote managed settings are still loading Peringatan konfigurasi
Remote managed settings did not load Peringatan konfigurasi
Claude Code couldn't load your organization's settings / Claude Code couldn't reach Anthropic to load your organization's settings / requires them before a session can start Peringatan konfigurasi
Claude Code can't start this session yet Peringatan konfigurasi
Your Claude session has expired. Sign in again to continue (claude auth login). Peringatan konfigurasi
Managed settings were not approved; exiting without applying them. Configuration warnings
Your organization's managed settings need your approval, which couldn't be asked for here. Configuration warnings
Claude Code can't start: your organization's managed settings block the default model / Claude Code can't start: your organization allows only the models listed in "availableModels" Configuration warnings
Your organization's managed settings allow Claude Code to use: <providers> Configuration warnings
Your organization's managed settings allow Claude Code to use no API provider at all Configuration warnings
MCP server <name> is blocked by enterprise managed policy Configuration warnings
"<name>" is a reserved MCP server name and was not loaded Configuration warnings
Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it. Configuration warnings
Managed settings drop-in directory could not be read Configuration warnings
Unable to read managed policy settings Configuration warnings
Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded; fix or remove each entry: Configuration warnings
otelHeadersHelper failed; telemetry is not being exported. See /status: ... Configuration warnings
"crossSessionInbound" must be one of "accept", "hold", "refuse" Configuration warnings
API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name Configuration warnings
headersHelper not run — this workspace has no persisted trust Configuration warnings
Invalid permission rule "..." was skipped: Malformed Tool(content) rule Configuration warnings
matches no tool · check for typos / matches no known tool — check for typos Configuration warnings
... is not matched by file permission checks Configuration warnings
Write(<path>) never matches · use Edit(<path>) / Glob(<path>) never matches · use Read(<path>) Configuration warnings
... has a wildcard before the rest of the command Configuration warnings
allows any option at its * · use an exact value Configuration warnings
Denying Bash also turns off the PowerShell tool, so Claude has neither Configuration warnings
CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced Configuration warnings
CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" reads as <N> tokens, so Claude Code treats it as the 100k minimum Values and warnings for CLAUDE_CODE_AUTO_COMPACT_WINDOW
CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" is too large, so Claude Code treats it as the 1M maximum Values and warnings for CLAUDE_CODE_AUTO_COMPACT_WINDOW
CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" isn't a usable size, so Claude Code ignores it Values and warnings for CLAUDE_CODE_AUTO_COMPACT_WINDOW
Model "<model>" isn't recognized · context assumed to be 200k tokens Correct the window for a gateway or custom model ID
Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens Correct the window for a gateway or custom model ID
Model "<model>" isn't recognized · did you mean "<suggestion>"? / Claude Code doesn't recognize the model "<model>". Did you mean "<suggestion>"? Memperbaiki nama model yang salah ketik
[claude-code:unrecognized_model] Configuration warnings
is ignored — managed settings set allowManagedReadPathsOnly / is ignored — managed settings set allowManagedDomainsOnly Configuration warnings
Sandbox mask files left behind at write-deny paths Configuration warnings
Stale sandbox mask files left by a killed session Configuration warnings
Ubuntu's AppArmor restriction on user namespaces stops bubblewrap here Pemecahan masalah sandboxing
bwrap: setting up uid map: Permission denied / bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted Pemecahan masalah sandboxing
Respons tampak berkualitas lebih rendah dari biasanya Response quality

Retry otomatis

Claude Code mencoba ulang kegagalan transien hingga 10 kali dengan exponential backoff sebelum menampilkan kesalahan kepada Anda. Claude Code tidak selalu mencoba ulang kegagalan yang tiba di tengah respons Claude. Ketika Anda melihat salah satu kesalahan di halaman ini, Claude Code telah melakukan retry apa pun yang berlaku untuk kegagalan tersebut.

Claude Code mencoba ulang kegagalan ini:

  • Server errors, overloaded responses, dan request timeouts yang tiba sebelum respons Claude mulai streaming.
  • Server error atau overloaded response yang tiba setelah Claude selesai berpikir tetapi sebelum memulai teks atau panggilan tool apa pun. Claude Code mencoba ulang server error pada titik itu hingga dua kali. Sebelum v2.1.284, Claude Code mengakhiri giliran dengan kesalahan tersebut pada titik itu.
  • Dropped connections. Ketika koneksi terputus di tengah permintaan sebelum Claude menyelesaikan bagian mana pun dari responsnya, termasuk pemikirannya, Claude Code mengeluarkan kembali permintaan dengan backoff yang sama dan giliran berlanjut, bahkan jika beberapa teks telah mulai streaming. Ketika terputus setelah Claude selesai berpikir tetapi sebelum memulai teks atau panggilan tool apa pun, Claude Code malah mengeluarkan kembali permintaan hingga dua kali dengan cepat, dan mengakhiri giliran dengan Connection lost before a response was produced jika koneksi terus terputus pada titik itu.
  • Koneksi yang Claude Code deteksi rusak karena komputer Anda tidur di tengah permintaan. Claude Code menghitungnya sebagai dropped connection sesuai aturan di atas; setelah label retry menyebutkan alasan spesifik, dibaca Connection lost while your computer was asleep, dan jika giliran berakhir setelah Claude selesai berpikir tetapi sebelum teks atau panggilan tool apa pun, pesan berbunyi Your computer went to sleep before a response was produced.
  • Stalled response stream, ketika response headers telah tiba tetapi tidak ada respons Claude yang tiba, atau ketika Claude selesai berpikir tetapi belum memulai teks atau panggilan tool apa pun: Claude Code membatalkan koneksi yang macet dan melakukan streaming ulang permintaan paling banyak sekali. Jika respons macet untuk kedua kalinya setelah Claude selesai berpikir tetapi sebelum teks atau panggilan tool apa pun, Claude Code mengakhiri giliran dengan The response stalled before a response was produced.
  • Permintaan streaming yang tidak pernah dijawab API dengan response headers, pada koneksi tempat first-byte deadline berjalan. Pada deadline, Claude Code membatalkan permintaan dan mengirimnya kembali dalam anggaran retry. Jika deadline juga terpicu untuk pengiriman ulang, giliran berakhir dengan No response from API. Ketika Anda menetapkan CLAUDE_CODE_RETRY_WATCHDOG, Claude Code terus mengirim ulang dalam anggaran tersebut sebagai gantinya.
  • Respons streaming yang dihentikan oleh filter konten output API sebelum Claude selesai berpikir atau memulai teks atau panggilan tool apa pun. Claude Code mengirim kembali permintaan sekali, dalam anggaran retry, dan menampilkan Output blocked by content filtering policy jika filter juga menghentikan respons kedua.
  • Temporary 429 throttles, tetapi bukan 429 spend-limit gateway, yang bukan throttle; lihat Spend limit reached.
    • Ketika Anda masuk dengan langganan claude.ai, ini mencakup 429 throttles yang tidak membawa header kuota paket Anda. Sebelum v2.1.199, Claude Code hanya mencoba ulang throttles tersebut untuk kunci API dan Enterprise sign-ins.
  • Permintaan ditolak karena input plus max_tokens melebihi context limit. Mengirimnya kembali tanpa perubahan akan gagal dengan cara yang sama, jadi Claude Code mencoba ulang dengan max_tokens yang dikurangi, dan berhenti mencoba ulang dan melakukan compact sebagai gantinya dalam dua kasus:
    • Ketika tidak ada pengurangan yang dapat muat, misalnya ketika percakapan itu sendiri hampir mengisi context window.
    • Ketika retry tidak dapat menyusutkan max_tokens lebih jauh. Sebelum v2.1.218, Claude Code dapat mengirim kembali permintaan yang dikurangi yang masih tidak muat, seperti ketika extended thinking budget melebihi context yang tersisa, sampai anggaran retry habis.
  • Respons yang menyatakan Claude sedang memanggil tool tetapi tidak berisi panggilan tool. Claude Code mencoba ulang dengan meminta Claude memberikan panggilan tool tersebut, hingga dua kali. Jika kedua retry gagal dengan cara yang sama, Anda melihat The model's tool call could not be parsed (retry also failed). dan giliran berakhir. Untuk mencoba lagi, kirim pesan lain. Sebelum v2.1.307, Claude Code mencoba ulang sekali sebelum mengakhiri giliran.
  • Expired atau missing Google Cloud credential pada Google Cloud's Agent Platform, atau kredensial AWS yang gagal dimuat di mesin Anda. Claude Code membuang kredensial yang di-cache dan mencoba ulang hingga dua kali, kemudian melaporkan kesalahan sehingga Anda dapat re-authenticate segera, seperti dijelaskan di bawah Could not load AWS or Google Cloud credentials. Sebelum v2.1.228, Claude Code mencoba ulang failing Google Cloud credential melalui anggaran retry penuh sebelum menampilkan kesalahan.
  • 401 atau 403 dari Anthropic API, secara langsung atau melalui LLM gateway, sementara script apiKeyHelper menyediakan kredensial. Claude Code menjalankan kembali script dan mencoba ulang dengan output segar-nya, dalam anggaran retry penuh. Ketika script itu sendiri gagal pada re-run, Claude Code menampilkan Your apiKeyHelper script is failing sebagai gantinya.

Sebelum v2.1.227, Connection lost before a response was produced berbunyi Connection closed while thinking, before producing a response dan The response stalled before a response was produced berbunyi Response stalled while thinking, before producing a response.

Claude Code tidak mencoba ulang kegagalan ini:

  • TLS certificate validation failure, seperti TLS-inspecting proxy, missing NODE_EXTRA_CA_CERTS bundle, atau expired certificate. Claude Code melaporkan kesalahan pada percobaan pertama, sehingga Anda dapat memperbaiki setup certificate dengan segera; lihat SSL certificate errors. Claude Code masih mencoba ulang transient TLS conditions seperti handshake timeout. Sebelum v2.1.199, Claude Code mencoba ulang certificate failures melalui anggaran retry penuh sebelum menampilkan kesalahan.
  • Server error, dropped connection, atau stalled stream yang tiba setelah Claude menyelesaikan blok teks atau panggilan tool, atau telah memulai satu setelah menyelesaikan pemikirannya, tetapi sebelum menyelesaikan respons. Claude Code tidak menjalankan kembali permintaan, karena itu dapat mengeksekusi panggilan tool yang sama dua kali. Ini menyimpan apa yang Claude selesaikan, menjalankan panggilan tool apa pun yang Claude selesaikan, dan melanjutkan giliran dari hasil mereka. Untuk apa yang Anda lihat dalam sesi interaktif dan non-interaktif, baca The response above may be incomplete. Sebelum v2.1.199, Claude Code membuang output parsial dan melaporkan seluruh giliran sebagai kesalahan ketika server error tiba di tengah-tengah stream.
  • Kegagalan yang tiba setelah Claude menyelesaikan respons: tidak ada yang perlu dicoba ulang, jadi Claude Code menyimpan respons lengkap dan mengakhiri giliran secara normal.
  • Amazon Bedrock streaming response dengan unexpected content-type, karena gateway atau proxy yang menulis ulang respons akan menulis ulang retry dengan cara yang sama. Memerlukan Claude Code v2.1.208 atau lebih baru.
  • Non-streaming retry dari failed streaming request yang mendapat success status tetapi no Claude API message in the body. Claude Code mengakhiri giliran dengan kesalahan itu.
  • Permintaan yang policy check organisasi Anda tolak, yang muncul sebagai baris API Error: yang membawa pesan penolakan. Administrator organisasi Anda menyiapkan check dengan Inference hooks, fitur Claude Enterprise, dan pesan berakhir dengan instruksi yang mereka konfigurasi, atau secara default memberi tahu Anda untuk menghubungi mereka. Claude Code tidak mengirim kembali permintaan yang ditolak ke model yang sama atau ke fallback model, karena penolakan adalah tentang konten permintaan daripada model. Sebelum v2.1.239, Claude Code dapat mengirim kembali permintaan yang ditolak, tanpa streaming atau pada fallback model yang dikonfigurasi, sebelum menampilkan penolakan kepada Anda.

Apa yang Anda lihat saat Claude Code mencoba ulang atau menunggu

Saat mencoba ulang, spinner menampilkan countdown Retrying in Ns · attempt x/y setelah label kesalahan. Label menyebutkan alasan spesifik dari percobaan pertama untuk kegagalan yang dapat Anda tindaklanjuti segera: jaringan tidak aktif, TLS handshake gagal, atau Anda mencapai rate limit. Untuk kesalahan lain dibaca API error pada awalnya. Mulai v2.1.198 beralih ke alasan spesifik dari percobaan ketiga, atau pada percobaan terakhir ketika CLAUDE_CODE_MAX_RETRIES memungkinkan lebih sedikit dari tiga; versi sebelumnya beralih hanya pada percobaan terakhir.

Mulai v2.1.198, spinner tip biasa ditekan selama retry. Setelah alasan kesalahan terungkap, jika kegagalan adalah 529 overload baris di bawah countdown juga menyebutkan di mana memeriksa status layanan: status.claude.com pada Anthropic API, atau penyedia atau host gateway yang dinamai dalam pesan pada konfigurasi lain.

Waiting for API response

Banner Waiting for API response · will retry in … · check your network berarti Claude Code telah menunggu setidaknya 20 detik tanpa menerima data apa pun untuk sebuah permintaan. Permintaan belum gagal: countdown berjalan ke titik di mana Claude Code membatalkan koneksi yang macet. Jika pembatalan terjadi:

  • Sebelum Claude menyelesaikan blok teks atau panggilan tool, atau memulai satu setelah menyelesaikan pemikirannya, Claude Code mencoba ulang permintaan atau mengakhiri giliran dengan kesalahan. Automatic retries mengatakan stalls mana yang dicoba ulang dan berapa kali.
  • Setelah Claude menyelesaikan blok teks atau panggilan tool, atau memulai satu setelah menyelesaikan pemikirannya, tetapi sebelum Claude menyelesaikan respons, Claude Code menyimpan apa yang Claude selesaikan, melanjutkan giliran dari panggilan tool apa pun yang Claude selesaikan, dan menampilkan The response above may be incomplete. Dalam sesi non-interaktif, dan untuk respons subagent dalam sesi apa pun, Claude Code mungkin pertama-tama meminta Claude untuk melanjutkan respons; entry itu mengatakan kapan itu terjadi dan kapan Anda masih melihat pemberitahuan di sana.
  • Setelah Claude menyelesaikan respons, Claude Code mengakhiri giliran secara normal.

Banner menghapus dirinya sendiri setelah data dilanjutkan atau retry berhasil. Jika muncul kembali pada setiap percobaan, perlakukan sebagai network issue. Jika Anda terhubung melalui gateway, lihat Banner menunggu muncul dan hilang di balik gateway. Sebelum v2.1.185, banner muncul setelah 10 detik dengan wording berbeda.

Jika banner Waiting for API response muncul dan hilang saat Claude berpikir dan Anda terhubung melalui gateway, perbarui Claude Code ke v2.1.309 atau lebih baru. Banner muncul setelah 45 detik tanpa data pada koneksi berikut:

Sebelum v2.1.309, banner muncul setelah 20 detik pada koneksi ini.

Sesuaikan perilaku retry

Anda dapat menyesuaikan perilaku retry dengan environment variable ini:

Variable Default Effect
CLAUDE_CODE_MAX_RETRIES 10 Jumlah percobaan retry. Dibatasi pada 15 mulai v2.1.186; mulai v2.1.199 CLAUDE_CODE_RETRY_WATCHDOG menaikkan default dan menghapus batas. Turunkan untuk menampilkan kegagalan lebih cepat dalam script.
CLAUDE_CODE_RETRY_WATCHDOG unset Atur ke 1 dalam sesi tanpa pengawasan seperti CI jobs untuk mencoba ulang 429 dan 529 capacity errors tanpa batas bukan gagal setelah CLAUDE_CODE_MAX_RETRIES percobaan. Claude Code gagal sekaligus ketika standard-speed request mendapat 429 yang melaporkan spend limit atau kredit penggunaan yang habis, bahkan satu dari gateway spend cap yang reset pada jadwal. Sebelum v2.1.239, watchdog mencoba ulang ini tanpa batas. Untuk fast mode requests, lihat Handle rate limits. Pada v2.1.199 atau lebih baru itu juga menaikkan default retry count untuk transient errors lainnya, seperti server errors, timeouts, dan dropped connections, menjadi 300, kira-kira tiga jam backoff, dan menghapus batas 15 pada CLAUDE_CODE_MAX_RETRIES jika Anda menetapkan variabel itu secara eksplisit.
CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS unset Waktu maksimum dalam milidetik yang dihabiskan setiap permintaan API untuk menunggu kesalahan 429 dan 529 ketika CLAUDE_CODE_RETRY_WATCHDOG ditetapkan. Ketika tidak ditetapkan, waktu tunggunya tidak terbatas. Memerlukan Claude Code v2.1.295 atau lebih baru.
CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS tanpa batas Dengan CLAUDE_CODE_RETRY_WATCHDOG ditetapkan, waktu terlama dalam milidetik yang ditunggu satu permintaan hingga batas penggunaan paket Anda, seperti batas sesi atau batas mingguan, direset. Ketika reset lebih jauh dari batas ini, permintaan langsung gagal, kecuali kredit penggunaan masih memiliki ruang atau API tidak dapat memeriksanya. Dalam kasus tersebut, permintaan dicoba ulang, dan gagal jika batas ini terlewati sebelum berhasil. Memerlukan Claude Code v2.1.301 atau lebih baru.
CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS unset Interval minimum dalam milidetik di antara pemeriksaan apakah batas penggunaan sudah dicabut, sementara permintaan menunggu batas tersebut direset dengan CLAUDE_CODE_RETRY_WATCHDOG ditetapkan. Ketika pemeriksaan menemukan batas sudah dicabut, permintaan langsung dikirim. Berikan angka polos dari 60000 hingga 10800000. Ketika tidak ditetapkan atau di luar rentang tersebut, tidak ada pemeriksaan yang dilakukan. Untuk kapan Claude Code melewati pemeriksaan ini, lihat referensi environment variable. Memerlukan Claude Code v2.1.305 atau lebih baru.
CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS 500 Penundaan awal dalam milidetik dari backoff di antara retry permintaan yang ditolak API dengan kesalahan 529 overloaded. Naikkan, hingga 32000, untuk menyebarkan retry dalam rentang waktu yang lebih panjang ketika API sedang mencapai kapasitas. Tidak berpengaruh ketika CLAUDE_CODE_RETRY_WATCHDOG diatur ke 1, atau ketika permintaan yang ditolak dikirim dalam fast mode. Memerlukan Claude Code v2.1.292 atau lebih baru.
CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS 32000 Batas atas dalam milidetik untuk backoff di antara retry permintaan yang ditolak API dengan kesalahan 529 overloaded. Naikkan, hingga 64000, agar jarak antar retry berikutnya terus bertambah ketika API sedang mencapai kapasitas. Tidak berpengaruh ketika CLAUDE_CODE_RETRY_WATCHDOG diatur ke 1, atau ketika permintaan yang ditolak dikirim dalam fast mode. Memerlukan Claude Code v2.1.296 atau lebih baru.
API_TIMEOUT_MS 600000 Waktu dalam milidetik yang dimiliki setiap percobaan permintaan untuk menerima response headers-nya. Ini tidak membatasi berapa lama respons streaming berjalan setelah itu. Naikkan untuk jaringan lambat atau proxy. Untuk cara ini membatasi first-byte deadline, lihat No response from API.
CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES unset Batas pengiriman ulang permintaan non-streaming yang mengalami timeout. Saat batas tercapai, permintaan gagal. Respons dari Claude yang membutuhkan waktu lebih lama dari timeout untuk dihasilkan akan mengalami timeout lagi pada setiap pengiriman ulang, jadi tetapkan angka rendah seperti 0 agar gagal lebih cepat. Untuk timeout setiap percobaan, lihat Berapa lama percobaan non-streaming menunggu. Memerlukan Claude Code v2.1.285 atau lebih baru.
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS unset Deadline dalam milliseconds untuk first response byte dari streaming request. Memerlukan Claude Code v2.1.242 atau lebih baru. Untuk bagaimana Claude Code memilih deadline ketika ini unset, lihat No response from API.

Berapa lama percobaan non-streaming menunggu

Percobaan non-streaming berakhir pada request timeout-nya atau pada body idle timeout, mana saja yang terjadi lebih dulu:

  • Request timeout: API_TIMEOUT_MS ketika Anda menetapkan nilai positif, jika tidak 300 detik dalam sesi lokal.
  • Body idle timeout: 5 hingga 6 menit tanpa respons, setinggi apa pun Anda menetapkan API_TIMEOUT_MS, di tempat timeout ini berjalan dan Anda belum mematikannya.

Kesalahan server

Sebagian besar kesalahan ini berasal dari penyedia inferensi: layanan Anthropic di Anthropic API, dan layanan di balik endpoint penyedia tersebut di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway khusus. Auto mode tidak dapat menentukan keamanan suatu tindakan dan Agent dihentikan lebih awal karena kesalahan API juga mencakup penyebab di sisi Anda, seperti akun Amazon Bedrock yang tidak dapat memanggil model pengklasifikasi atau subagent yang mencapai batas penggunaan.

API Error: 500 Internal server error

Claude Code menampilkan kode status dan pesan kesalahan API untuk respons 5xx apa pun. Contoh di bawah menunjukkan respons 500 di Anthropic API:

API Error: 500 Internal server error. This is a server-side issue, usually temporary — try again in a moment. If it persists, check https://status.claude.com.

Kalimat terakhir menyebutkan tempat untuk memeriksa kesehatan layanan dan bervariasi menurut penyedia. Konfigurasi Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry menyebutkan status layanan penyedia tersebut. ANTHROPIC_BASE_URL khusus menyebutkan host gateway.

Respons 5xx dari API itu sendiri menunjukkan kegagalan yang tidak terduga di dalam API. Ini tidak disebabkan oleh prompt, pengaturan, atau akun Anda.

Ketika proxy, load balancer, atau gateway menjawab dengan halaman kesalahan HTML, pesan menampilkan kode status dan judul halaman, seperti API Error: 502 Bad Gateway. Untuk halaman tanpa judul, pesan menampilkan kode status dan nama standarnya. Sebelum v2.1.281, kode status dijatuhkan ketika halaman memiliki judul, dan markup mentah halaman dicetak ketika tidak ada.

Yang harus dilakukan:

  • Periksa status.claude.com, atau halaman status penyedia yang disebutkan dalam pesan, untuk insiden aktif
  • Tunggu satu menit, kemudian kirim pesan Anda lagi. Pesan asli Anda masih ada dalam percakapan, jadi untuk prompt yang panjang Anda dapat mengetik try again alih-alih menempel seluruh hal.
  • Jika ANTHROPIC_BASE_URL mengarah ke LLM gateway dan setiap permintaan gagal dengan cara ini, periksa apakah gateway Anda dan upstream-nya menerima bidang pencarian tool. Secara default, Claude Code mengirim bidang tool defer_loading dan blok tool_reference, bersama header anthropic-beta yang mengaktifkannya. Sebelum v2.1.304, pencarian tool dinonaktifkan di balik gateway kecuali Anda mengaktifkannya dengan ENABLE_TOOL_SEARCH.
  • Jika kesalahan berlanjut tanpa insiden yang diposting, jalankan /feedback sehingga Anthropic dapat menyelidiki dengan detail permintaan Anda. Lihat Report an error jika /feedback tidak tersedia di lingkungan Anda.

API Error: Repeated 529 Overloaded errors

API sementara pada kapasitas di semua pengguna. Claude Code telah mencoba ulang beberapa kali sebelum menampilkan pesan ini:

API Error: Repeated 529 Overloaded errors. The API is at capacity — this is usually temporary. Try again in a moment. If it persists, check https://status.claude.com.

Kalimat terakhir bervariasi menurut penyedia dengan cara yang sama seperti kesalahan 500 di atas.

529 bukan batas penggunaan Anda dan tidak dihitung terhadap kuota Anda.

Yang harus dilakukan:

  • Periksa status.claude.com, atau halaman status penyedia yang disebutkan dalam pesan, untuk pemberitahuan kapasitas

  • Coba lagi dalam beberapa menit

  • Jalankan /model dan beralih ke model yang berbeda untuk terus bekerja, karena kapasitas dilacak per model. Claude Code meminta Anda untuk melakukan ini ketika satu model mengalami beban yang sangat tinggi, misalnya Opus is experiencing high load, please use /model to switch to Sonnet. Pada model Fable pesan menyebutkan Fable.

    Dalam sesi yang dijalankan aplikasi Claude Desktop, seperti tab Code atau Cowork, pesan berbunyi Opus is experiencing high load. Switch to Sonnet. dan Anda beralih model dengan pemilih model aplikasi.

Request timed out

API tidak merespons sebelum batas waktu koneksi.

Request timed out

Timeout permintaan default adalah 10 menit. Jika Anda menetapkan API_TIMEOUT_MS ke 0, timeout permintaan ini dinonaktifkan. Batas waktu byte pertama dan timeout idle badan respons tidak dinonaktifkan ketika Anda menetapkan 0, jadi permintaan streaming tetap berjalan di bawah mana pun di antara keduanya yang berlaku untuk koneksi Anda. Upaya non-streaming tetap mempertahankan batas 300 detiknya dalam sesi lokal dan masih dapat berakhir dengan pesan ini.

Yang harus dilakukan:

  • Jika setiap permintaan gagal dengan pesan ini dan Anda menetapkan API_TIMEOUT_MS ke 0, periksa claude --version. Pada versi sebelum v2.1.305, perbarui Claude Code atau tetapkan nilai positif.
  • Coba lagi permintaan
  • Jika penyebabnya adalah jaringan lambat atau proxy, naikkan API_TIMEOUT_MS seperti yang dijelaskan dalam Automatic retries
  • Jika timeout sering terjadi dan jaringan Anda sehat, lihat Network and connection errors di bawah

No response from API

Claude Code mengirim permintaan streaming, dan API tidak mengembalikan header respons dalam batas waktu untuk byte pertama. Claude Code membatalkan permintaan seperti itu alih-alih menunggu timeout permintaan API_TIMEOUT_MS penuh, dan mengirimnya lagi jika retry budget memungkinkan. Ketika batas waktu juga terlewati untuk retry, giliran berakhir dengan pesan ini, yang menunjukkan berapa lama setiap upaya menunggu.

Jika Anda menetapkan CLAUDE_CODE_RETRY_WATCHDOG, Claude Code terus mencoba ulang di bawah anggaran yang dijelaskan dalam Tune retry behavior alih-alih mengakhiri giliran.

API Error: No response from API (waited 3m, then 10m on the retry). If a proxy or gateway on your network holds responses until they complete, raise API_TIMEOUT_MS or CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS to wait longer.

Claude Code menetapkan tunggu header respons upaya pertama dan tunggu retry secara terpisah:

  • Upaya pertama: CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS ketika Anda menetapkannya ke 1 atau lebih, diklem antara 10 detik dan 30 menit. Jika tidak, Claude Code menggunakan timeout watchdog tingkat byte yang tercantum dalam Streaming idle watchdogs, jadi variabel yang mengubah timeout itu mengubah tunggu ini juga. Bagaimanapun, Claude Code menambahkan satu detik untuk setiap 32KB badan permintaan.

  • Retry: satu detik kurang dari API_TIMEOUT_MS, hanya di bawah 10 menit secara default, sehingga retry dapat melampaui proxy atau gateway yang menahan respons hingga generasi selesai. Di Amazon Bedrock, retry menggunakan batas waktu yang sama dengan upaya pertama, dan pesan menunjukkan satu durasi alih-alih dua.

    Kecuali di Amazon Bedrock, jika Anda menetapkan API_TIMEOUT_MS ke 0, retry menunggu 10 menit ditambah satu detik per 32KB, atau selama upaya pertama jika itu lebih lama.

Tidak ada tunggu yang melebihi satu detik kurang dari API_TIMEOUT_MS positif, dan API_TIMEOUT_MS positif di bawah 11 detik mematikan batas waktu. Watchdog tingkat byte dimulai hanya setelah header respons tiba, jadi respons yang berhenti mengirim byte setelah itu mengikuti stalled-stream rules alih-alih batas waktu ini.

Dalam sesi Claude apps gateway, batas waktu ini hanya berjalan ketika Anda mengaktifkannya dengan menetapkan CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS ke 1 atau lebih.

Yang harus dilakukan:

  • Kirim pesan Anda lagi. Pesan asli Anda masih ada dalam percakapan, jadi untuk prompt yang panjang Anda dapat mengetik try again alih-alih menempel seluruh hal.
  • Jika terulang, perlakukan sebagai network or proxy problem.
  • Jika proxy atau gateway di jaringan Anda menahan respons hingga selesai, naikkan API_TIMEOUT_MS sehingga retry menunggu lebih lama. Di Amazon Bedrock, naikkan CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS juga.
  • Jika upaya pertama terus habis waktu dan retry kemudian berhasil, naikkan CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS sehingga upaya pertama juga menunggu cukup lama.

Sebelum v2.1.242, Claude Code menunggu timeout permintaan API_TIMEOUT_MS penuh, 10 menit secara default, sebelum menggagalkan permintaan streaming yang tidak dijawab. Sebelum v2.1.261, retry menunggu batas waktu yang sama dengan upaya pertama dan pesan tidak menunjukkan durasi. Sebelum v2.1.307, Claude Code mengabaikan CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS dalam sesi Claude apps gateway.

The response above may be incomplete

Permintaan streaming gagal sementara respons masih berlangsung, setelah Claude menyelesaikan blok teks atau panggilan tool, atau telah memulai satu setelah menyelesaikan pemikirannya. Mengirim ulang permintaan dapat menjalankan panggilan tool yang sama dua kali, jadi Claude Code menyimpan output yang Claude selesaikan dan menambahkan pemberitahuan ini alih-alih membuang giliran. Varian mana yang Anda lihat menyebutkan penyebabnya:

API Error: Server error mid-response. The response above may be incomplete.
API Error: Connection lost mid-response. The response above may be incomplete.
API Error: Your computer went to sleep mid-response. The response above may be incomplete.
API Error: The response stopped arriving. The response above may be incomplete.
API Error: Part of the response never arrived. The response above may be incomplete.
API Error: The response stream was malformed. The response above may be incomplete.
  • Server error mid-response: kesalahan server overloaded atau 5xx mid-stream. Varian ini memerlukan Claude Code v2.1.199 atau lebih baru; sebelumnya kasus itu membuang output parsial dan melaporkan seluruh giliran sebagai kesalahan.
  • Connection lost mid-response: koneksi putus. Anda juga melihat varian ini ketika proxy atau gateway mengakhiri badan respons dengan bersih sebelum respons selesai.
  • Your computer went to sleep mid-response: Claude Code mendeteksi bahwa komputer Anda tertidur saat respons streaming. Setelah komputer Anda bangun, Claude Code memperlakukan koneksi sebagai rusak dan berhenti membacanya.
  • Part of the response never arrived: peristiwa stream dijatuhkan antara API dan Claude Code, jadi peristiwa yang lebih baru mereferensikan konten yang tidak pernah tiba. Sebelum v2.1.281, kasus ini mengakhiri giliran dengan API Error: Content block not found.
  • The response stream was malformed: peristiwa tiba untuk blok konten yang sudah selesai, atau peristiwa tiba rusak. Peristiwa yang rusak adalah peristiwa yang datanya bukan JSON yang valid, yang kontennya hilang, atau yang kontennya tidak cocok dengan jenis peristiwa. Sebelum v2.1.284, kesalahan parser mentah, seperti yang dimulai dengan API Error: JSON Parse error, muncul sebagai gantinya ketika peristiwa dengan JSON yang tidak valid tiba setelah Claude menyelesaikan pemikirannya, blok teks, atau panggilan tool.
  • The response stopped arriving: koneksi tetap terbuka tetapi berhenti mengirimkan data, jadi watchdog streaming idle membatalkannya. Sebelum v2.1.222, Claude Code juga dapat melaporkan kegagalan ini pada koneksi gateway yang dicapai melalui ANTHROPIC_BASE_URL atau ANTHROPIC_AWS_BASE_URL sementara ping keep-alive server masih tiba, karena hanya menghitung peristiwa respons yang diurai di sana; upgrade menghentikan timeout palsu itu di rute tersebut. Gateway yang dicapai melalui URL dasar penyedia seperti ANTHROPIC_BEDROCK_BASE_URL tidak dibungkus oleh watchdog byte; lihat Streaming idle watchdogs.

Sebelum v2.1.227, Connection lost mid-response berbunyi Connection closed mid-response dan The response stopped arriving berbunyi Response stalled mid-stream.

Ketika peristiwa stream yang dijatuhkan, diduplikasi, atau rusak tiba sebelum Claude memulai teks atau panggilan tool apa pun, Anda tidak melihat pemberitahuan ini:

  • Jika Claude hanya menyelesaikan pemikirannya, Claude Code mengeluarkan kembali permintaan. Ketika stream yang diterbitkan kembali putus dengan cara yang sama, giliran berakhir dengan Part of the response never arrived and no response was produced. Try again. atau The response stream was malformed and no response was produced. Try again.
  • Jika tidak ada yang selesai, Claude Code mengirim ulang permintaan tanpa streaming. Jika Anda mematikan fallback itu dengan CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK, giliran berakhir dengan API Error: Content block not found untuk peristiwa yang dijatuhkan atau API Error: Content block already closed untuk peristiwa yang diduplikasi. Untuk peristiwa yang rusak dengan fallback dimatikan, giliran berakhir dengan API Error: Stream event unreadable atau kesalahan parser mentah.

Dalam empat kasus, Claude Code menangani kegagalan tanpa menampilkan pemberitahuan ini segera:

  • Sebelumnya dalam respons, Claude Code baik mencoba ulang kegagalan atau mengakhiri giliran dengan kesalahan yang berbeda. Lihat Automatic retries.
  • Ketika salah satu kegagalan ini tiba setelah Claude menyelesaikan respons, Claude Code menyimpan respons lengkap dan mengakhiri giliran secara normal, tanpa pemberitahuan ini. Sebelum v2.1.222, Claude Code menampilkan pemberitahuan ini ketika koneksi putus atau macet setelah respons selesai, dan melaporkan giliran sebagai kesalahan meskipun respons lengkap.
  • Dalam non-interactive session, seperti run -p, run Agent SDK, atau cloud session, Anda tidak harus mengirim continue sendiri ketika respons cut-off berada dalam percakapan utama dan berisi teks tetapi tidak ada panggilan tool: Claude Code menyimpan output parsial dan meminta Claude untuk melanjutkan dari tempat ia berhenti, hingga tiga kali berturut-turut. Anda melihat pemberitahuan ini untuk respons seperti itu hanya setelah Claude Code menggunakan kelanjutan itu. Sebelum v2.1.246, Claude Code mengakhiri giliran non-interaktif dengan pemberitahuan ini pada cut-off pertama.
  • Dalam subagent, apakah sesi interaktif atau tidak: ketika respons cut-off-nya berisi teks tetapi tidak ada panggilan tool, Claude Code meminta subagent untuk melanjutkan. Pemberitahuan menjadi pesan terakhir subagent hanya setelah kelanjutan itu digunakan. Sebelum v2.1.257, subagent menampilkan pemberitahuan ini pada cut-off pertama.

Yang harus dilakukan:

  • Dalam sesi interaktif, baca respons yang tetap di layar: Claude Code menyimpan setiap blok yang Claude selesaikan sebelum kesalahan, tetapi membuang blok akhir yang terputus ketika giliran berakhir, jadi kalimat atau panggilan tool terakhir mungkin hilang. Balas dengan continue untuk membuat Claude melanjutkan dari blok terakhir yang diselesaikannya.
  • Dalam non-interactive mode (-p):
    • Dengan output teks default, Claude Code mencetak blok teks terakhir yang diselesaikan yang masih dipegang dari sebelumnya dalam giliran, diikuti oleh pesan ini. Ketika tidak memegang apa pun, Claude Code mencetak pesan ini saja, misalnya karena Claude Code memadatkan percakapan di tengah-giliran dan menghapus teks itu. Sebelum v2.1.219, Claude Code hanya mencetak pesan ini dalam output teks -p dan menjatuhkan respons yang sudah dihasilkan.
    • Dengan --output-format json atau stream-json, Claude Code melaporkan pesan ini di bidang result.
    • Untuk melanjutkan giliran setelah koneksi stabil, lanjutkan sesi dan kirim continue seperti yang dijelaskan dalam Continue conversations.

Auto mode cannot determine the safety of an action

Model yang auto mode gunakan untuk mengklasifikasikan tindakan tidak dapat menghasilkan keputusan, jadi auto mode tidak menyetujui tindakan secara otomatis. Pesan yang Anda lihat tergantung pada bagaimana pengklasifikasi gagal.

Pembacaan, pencarian, dan pengeditan di dalam direktori kerja Anda melewati pengklasifikasi, jadi mereka terus bekerja dalam semua kasus ini.

Ketika model pengklasifikasi tidak tersedia:

<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.

Dalam sesi interaktif, baris redup Not run · auto mode's check had no usable answer muncul di bawah panggilan tool alih-alih pesan ini. Baris tersebut juga dapat menggantikan pesan yang menyatakan server tidak memberikan putusan atau, di luar sesi jarak jauh, pesan yang diawali Auto mode could not evaluate. Tekan Ctrl+O untuk membaca pesannya di penampil transkrip. Sebelum v2.1.296, pesan muncul sebagai kesalahan merah.

Ketika Claude Code dapat menentukan kategori kegagalan, ia menyebutkan kategori dalam tanda kurung setelah temporarily unavailable, misalnya <model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now. Kategorinya adalah (rate-limited), (overloaded), (server error), (timed out), dan (connection failed). Jika (timed out) atau (connection failed) terulang, periksa koneksi Anda; lihat Unable to connect to API. Sebelum v2.1.229, pesan tidak pernah menyebutkan kategori dan berbunyi Wait briefly and then try this action again.

Ketika tidak ada kategori yang cocok, pesan muncul tanpa kategori dalam tanda kurung; lebih dari satu kegagalan menghasilkan bentuk itu. Di Amazon Bedrock, termasuk Mantle endpoint, itu juga muncul ketika akun AWS Anda tidak dapat memanggil model yang disebutkan dalam pesan, dan kegagalan itu terulang pada setiap retry sampai akun Anda diberi akses ke model.

Yang harus dilakukan:

  • Coba lagi setelah beberapa detik; Claude melihat pesan yang sama dan biasanya mencoba ulang sendiri. Kegagalan sementara tidak terkait dengan auto mode eligibility; Anda tidak perlu mengubah pengaturan
  • Jika retry terus gagal, lanjutkan dengan tugas read-only dan kembali ke tindakan yang diblokir nanti
  • Di Amazon Bedrock, jika pesan kembali pada setiap retry, periksa bahwa akun Anda dapat memanggil model yang disebutkan: untuk model Amazon Bedrock standar, konfirmasi IAM policy Anda memungkinkan memanggilnya; untuk ID model Mantle, hubungi tim akun AWS Anda
  • Jika pesan kembali pada setiap retry dan menyebutkan model yang Anda tetapkan di CLAUDE_CODE_AUTO_MODE_MODEL, periksa bahwa API atau penyedia cloud tempat sesi Anda berjalan menyediakan ID model tersebut. Jika tidak, tetapkan variabel ke ID model yang disediakannya, atau hapus variabel untuk menggunakan model pengklasifikasi default.

Ketika permintaan pengklasifikasi gagal karena token OAuth Anda kedaluwarsa atau diputar oleh sesi lain, Claude Code menyegarkan token dan mencoba ulang permintaan sekali, jadi kedaluwarsa token biasa tidak muncul sebagai pesan ini. Sebelum v2.1.216, token yang kedaluwarsa atau diputar menggagalkan setiap permintaan pengklasifikasi, dan auto mode menolak setiap tindakan yang diperiksa dengan pesan ini sampai token disegarkan.

Ketika pengklasifikasi mengembalikan respons yang tidak dapat diurai:

Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details

Yang harus dilakukan:

  • Coba lagi tindakan; ini biasanya berhasil pada upaya berikutnya
  • Jalankan claude --debug dan ulangi tindakan untuk detail dalam log debug

Ketika pemeriksaan keamanan API terpisah memblokir permintaan pengklasifikasi karena konten percakapan sebelumnya:

Auto mode could not evaluate this action and is blocking it for safety — a safety check separate from auto mode blocked this request because of earlier conversation content — it isn't about the action itself — run with --debug for details

Claude Code menolak tindakan tetapi memberi tahu Claude bahwa ini bukan penilaian bahwa tindakan tidak aman, dan untuk melanjutkan dengan tugas lain daripada mencoba ulang. Penolakan ini tidak dihitung terhadap auto mode's pause thresholds. Dalam run -p non-interactive, Claude Code tidak menghentikan run. Apa yang Claude terima tergantung pada tempat ia meminta tindakan:

  • Ke background subagent dalam run -p tanpa --input-format stream-json, Claude Code mengembalikan hasil kesalahan yang berisi Agent aborted: auto mode classifier request refused by the safety safeguard in headless mode
  • Di tempat lain, termasuk sesi interaktif dan percakapan utama run -p, Claude Code mengembalikan penolakan itu ke Claude

Sebelum v2.1.225, Claude Code menghitung penolakan ini terhadap ambang batas jeda dan mengembalikan pesan penolakan yang sama seperti blok pengklasifikasi asli.

Yang harus dilakukan:

  • Ini bukan keputusan tentang tindakan Anda. Konten yang sudah ada dalam percakapan Anda memicu filter keamanan di API ketika auto mode mengirim percakapan ke pengklasifikasi
  • Mencoba ulang tidak akan membantu; konten percakapan yang sama akan memicu filter lagi
  • Dalam sesi interaktif, beralih ke permission mode yang berbeda sehingga Anda dapat menyetujui tindakan ketika diminta
  • Mulai percakapan segar tanpa konten pemicu

Ketika percakapan terlalu panjang untuk permintaan pengklasifikasi Claude Code dan Claude Code tidak dapat melakukan compaction sendiri:

Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)

Apa yang terjadi pada tindakan tergantung pada tempat Claude memintanya:

  • Dalam sesi interaktif, auto mode melakukan fallback ke dialog izin normal untuk tindakan itu sehingga Anda dapat menyetujui atau menolaknya secara manual
  • Ke background subagent dalam run -p non-interactive tanpa --input-format stream-json, Claude Code mengembalikan hasil kesalahan yang berisi Agent aborted: auto mode classifier transcript exceeded context window in headless mode, dan run berlanjut
  • Di tempat lain dalam run -p tanpa --permission-prompt-tool, tidak ada dialog izin untuk fallback, jadi tindakan tidak berjalan dan run berlanjut

Yang harus dilakukan:

  • Dalam sesi interaktif, setujui atau tolak tindakan dalam dialog izin yang muncul
  • Dalam sesi interaktif, jalankan /compact untuk mengurangi ukuran percakapan sehingga tindakan berikutnya cocok dalam jendela pengklasifikasi lagi

The server returned no safety verdict

Di bawah server-side classifier review, auto mode menolak tindakan ketika server tidak memberikan putusan untuk itu. Penolakan menyebutkan kategori dalam tanda kurung ketika Claude Code dapat menentukan satu, seperti (timed out):

The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.

Sisa pesan memberi tahu Claude apakah satu retry dapat membantu. Sebelum beberapa penolakan ini, Claude Code menunggu sehingga upaya Claude berikutnya tidak mengikuti sekaligus. Selama tunggu dalam sesi interaktif, spinner menunjukkan Auto mode check unavailable dengan hitungan mundur, dan menekan Esc mengganggu giliran.

Setelah sepuluh respons berturut-turut tanpa putusan, auto mode menghentikan giliran:

Auto mode is unavailable — the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode.

Beberapa penolakan tidak dihitung dalam sepuluh tersebut, termasuk penolakan akibat perubahan dari hook atau mod.

Pesan berhenti muncul di tempat yang berbeda dalam setiap jenis sesi:

  • Dalam sesi interaktif, pesan muncul sebagai peringatan dalam transkrip dan giliran berakhir
  • Dalam run -p non-interactive, run berakhir dan melaporkan kesalahan eksekusi. Dengan output teks default, pesan dicetak di stderr.
  • Ketika subagent mencapai batas, subagent berhenti sebelum selesai, dan Claude menerima apa pun yang dihasilkan dengan catatan bahwa auto mode menghentikannya

Yang harus dilakukan:

  • Dalam sesi interaktif, tekan Ctrl+O untuk membaca teks penolakan di penampil transkrip.
  • Jika penolakan menyebutkan (the conversation is too long for the check), jalankan /compact di prompt Claude Code untuk memperpendek percakapan. Sampai percakapan lebih pendek, mengirim pesan lain akan mendapatkan penolakan yang sama. Jika Anda mematikan auto-compact, aktifkan kembali agar Claude Code melakukan compaction sendiri di lain waktu.
  • Kirim pesan lain untuk membuat Claude mencoba lagi. Hitungan respons dimulai dari awal.
  • Jika berhenti terulang dan permintaan Anda melewati LLM gateway or proxy, periksa apakah itu memotong respons streaming pendek atau menulis ulangnya. Server-side classifier review mengatakan perilaku gateway mana yang menyebabkan penolakan, dan gateway compatibility guide mencantumkan apa yang harus dilewatkan tanpa perubahan.
  • Atur CLAUDE_CODE_AUTO_MODE_SERVER=0 sebelum Anda memulai Claude Code untuk menggunakan permintaan pengklasifikasi miliknya sendiri. Sebelum v2.1.281, Claude Code tidak membaca variabel pada koneksi langsung ke Anthropic API.
  • Untuk menyetujui tindakan sendiri, switch out of auto mode

Sebelum v2.1.280, Claude Code menolak setiap tindakan dari respons tanpa putusan segera dan tidak pernah menghentikan giliran.

Sebelum v2.1.302, pada koneksi langsung ke Anthropic API, Claude Code tidak melakukan compaction pada percakapan yang telah menjadi terlalu panjang untuk pemeriksaan server.

a hook changed this call's input after auto mode reviewed it

Penolakan ini berarti hook atau mod mengubah input panggilan setelah server meninjaunya, sehingga tinjauan tersebut tidak mencakup apa yang akan dijalankan. Ini bukan penilaian bahwa tindakan tersebut tidak aman.

Panggilan berikutnya dalam respons Claude yang sama dapat ditolak dengan alasan ini:

another call in this response was changed by a hook after auto mode reviewed it, or could not be confirmed unchanged

Claude kemudian dapat mengeluarkan kembali setiap panggilan yang ditolak agar server meninjaunya. Jika dialog izin terbuka, jawablah. Anda tidak perlu melakukan hal lain kecuali Claude menyatakan dalam balasannya bahwa auto mode tidak dapat memeriksa panggilan tersebut. Dalam hal itu, hentikan perubahan tersebut atau setujui panggilan sendiri, lalu minta Claude untuk mencoba panggilan itu lagi:

  • Hentikan perubahan: matikan hook atau mod yang mengubah panggilan tersebut atau panggilan sebelumnya dalam respons Claude yang sama, atau minta administrator Anda untuk mematikannya. Untuk mencari hook, jalankan /hooks di prompt Claude Code. Dalam sesi terminal, jalankan /plugin untuk melihat mod yang aktif.
  • Setujui panggilan sendiri: beralih ke mode Manual

Was not reviewed and did not run

Penolakan was not reviewed and did not run berarti percakapan terlalu panjang bagi pengklasifikasi auto mode untuk memeriksa tindakan, sehingga tindakan tidak berjalan. Claude Code mengembalikan pesan ini ke Claude:

<tool> was not reviewed and did not run: the conversation is too long for auto mode's classifier. Claude Code will try to compact the conversation before the next request; if this action is still needed after that, issue it again and it will be reviewed normally.

Jika compaction gagal, tindakan berikutnya yang tidak dapat diperiksa pengklasifikasi mendapatkan salah satu dari dua pesan lain:

Yang harus dilakukan:

  • Jika compaction yang diumumkan pesan berhasil, Anda tidak perlu melakukan apa pun.
  • Jika Anda melihat salah satu dari dua pesan tersebut, jalankan /compact di prompt Claude Code untuk memperpendek percakapan sendiri. Jika Anda mematikan auto-compact, aktifkan kembali agar Claude Code melakukan compaction sendiri di lain waktu.

Agent terminated early due to an API error

Permintaan API subagent gagal secara terminal, misalnya karena batas penggunaan tercapai atau retry untuk kesalahan server habis, jadi subagent berhenti sebelum menyelesaikan tugasnya. Pesan ini memerlukan Claude Code v2.1.199 atau lebih baru; sebelumnya teks kesalahan API dikembalikan ke Claude seolah-olah itu adalah hasil subagent.

Agent terminated early due to an API error: <error detail>

Yang harus dilakukan:

  • Cocokkan detail kesalahan setelah titik dua dengan bagiannya sendiri di halaman ini, seperti Usage limits atau Server errors, dan ikuti langkah bagian itu
  • Setelah kesalahan yang mendasar hilang, minta Claude untuk mencoba ulang tugas atau resume the subagent

Ketika rate limit, overload, atau kesalahan server mengganggu subagent foreground yang sudah menghasilkan output teks, Claude menerima output parsial itu ditandai sebagai tidak lengkap alih-alih kesalahan ini. Subagent yang satu-satunya output adalah panggilan tool mendapat kesalahan ini juga; dalam v2.1.199 bentuk itu mengembalikan hasil parsial kosong. Lihat API errors in subagents.

Batas penggunaan

Sebagian besar kesalahan di bagian ini berarti kuota yang terikat pada akun atau paket Anda telah tercapai. Tiga kesalahan bekerja berbeda: Server is temporarily limiting requests adalah throttle sisi server yang tidak terkait dengan kuota paket Anda, Usage credits required for 1M context adalah pemeriksaan hak akses daripada kuota yang habis, dan The prompt to confirm went unanswered berarti prompt persetujuan kredit penggunaan ditutup tanpa jawaban, terlepas dari apakah kuota tercapai atau tidak.

You've hit your session limit

Paket langganan mencakup tunjangan penggunaan bergulir. Ketika habis, Anda akan melihat salah satu pesan ini:

You've hit your session limit · resets 3:45pm
You've hit your weekly limit · resets Mon 12:00am
You've hit your Opus limit · resets 3:45pm
You've hit your Sonnet limit · resets 3:45pm

Claude Code memblokir permintaan lebih lanjut hingga waktu reset yang ditunjukkan dalam pesan. Batas sesi dan mingguan dibagikan di semua model, jadi beralih model tidak mengembalikan akses. Batas Opus dan Sonnet masing-masing hanya berlaku untuk permintaan ke keluarga model tersebut, jadi beralih ke model di luar keluarga dengan /model membuat Anda tetap bekerja.

Dalam sesi interaktif yang masuk dengan langganan claude.ai, Claude Code juga dapat menunggu di sesi terbuka dan melanjutkan tugas yang terputus segera setelah reset. Lihat Wait for a usage limit to reset untuk melihat apa yang Anda lihat, cara memulai atau membatalkan penantian, dan cara mematikan lanjutan otomatis. Sebelum v2.1.234, Claude Code tidak menawarkan penantian ini.

Penggunaan dihitung terhadap tunjangan sesi dan mingguan pada saat yang sama. Satu ledakan aktivitas berat, seperti fanout alur kerja besar, dapat menghabiskan tunjangan mingguan sebelum jendela sesi direset.

Yang harus dilakukan:

  • Tunggu waktu reset yang ditunjukkan dalam kesalahan
  • Di tab Code dari Desktop app, kartu batas sesi menawarkan kotak centang Auto-continue when limits reset. Kartu batas mingguan tidak. Ketika dicentang, aplikasi Desktop mencoba ulang giliran yang terputus setelah reset dan menampilkan waktu retry pada kartu. Kotak centang Desktop dan pengaturan Continue automatically at usage limit CLI di /config terpisah, jadi matikan masing-masing secara terpisah.
  • Untuk batas Opus atau Sonnet, jalankan /model dan beralih ke model di luar keluarga tersebut untuk terus bekerja. Setiap model memiliki cache prompt-nya sendiri, jadi permintaan berikutnya membaca ulang seluruh percakapan tanpa cache hits; lihat Switching models
  • Jalankan /usage untuk melihat batas paket Anda dan kapan mereka direset
  • Jalankan /usage-credits untuk membeli penggunaan tambahan di Pro, Max, dan Ultra, atau memintanya dari admin Anda di Team dan Enterprise. Lihat usage credits for paid plans untuk cara ini ditagih.
  • Untuk meningkatkan paket Anda untuk batas dasar yang lebih tinggi, lihat claude.com/pricing

Sebelum jendela habis, Claude Code dapat memperingatkan Anda bahwa Anda telah menggunakan sebagian besar, dengan pesan seperti You've used 85% of your session limit · resets 3:45pm. Untuk memantau tunjangan sisa Anda, tambahkan bidang rate_limits ke custom status line, atau di aplikasi Desktop klik usage ring.

Usage credits required for 1M context

Model yang dipilih menggunakan context window diperluas 1M-token, dan paket Anda hanya mencakupnya melalui kredit penggunaan.

API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context

Dalam sesi yang dijalankan aplikasi Claude Desktop, petunjuk tidak menyebutkan perintah apa pun: petunjuk menunjuk ke halaman pengaturan penggunaan claude.ai, atau pada paket Team dan Enterprise mengatakan untuk mengaktifkan kredit penggunaan di claude.ai/admin-settings/usage atau untuk meminta admin Anda.

Ini adalah pemeriksaan hak akses, bukan kehabisan kuota. Ini muncul bahkan ketika tunjangan sesi dan mingguan Anda memiliki kapasitas yang tersisa. Lihat Extended context untuk paket mana yang mencakup konteks 1M secara langsung dan mana yang memerlukan kredit penggunaan.

Ketika kesalahan ini muncul di tengah percakapan karena konteks tumbuh melampaui 200K token, Claude Code secara otomatis mengompres percakapan kembali di bawah batas konteks standar dan menjaga sesi pada batas itu sesudahnya, jadi tidak ada tindakan yang diperlukan. Pada versi sebelum v2.1.172, kesalahan berulang pada setiap permintaan berikutnya termasuk /compact; jalankan /clear pada versi tersebut untuk pulih. Langkah-langkah di bawah berlaku ketika Anda secara eksplisit memilih model [1m].

Yang harus dilakukan:

  • Jalankan /model dan pilih varian tanpa akhiran [1m] untuk kembali ke context window standar
  • Di mana pesan menyebutkan /usage-credits, jalankan untuk mengaktifkan penagihan terukur untuk varian 1M di Pro, Max, dan Ultra, atau untuk meminta kredit penggunaan dari admin Anda di Team dan Enterprise. Setelah kredit penggunaan aktif, mulai ulang Claude Code atau mulai sesi baru, mana pun yang pesan katakan. Sampai saat itu, sesi tetap pada batas konteks standar.
  • Jika kesalahan berlanjut setelah /model, ID model 1M mungkin diatur di tempat lain. Lihat Setting your model untuk lokasi konfigurasi yang harus diperiksa dalam urutan prioritas.
  • Untuk menghapus varian 1M dari pemilih model sepenuhnya, atur CLAUDE_CODE_DISABLE_1M_CONTEXT=1

Sebelum v2.1.268, pesan berakhir dengan run /usage-credits to turn them on, or /model to switch to standard context dan tidak menyebutkan restart.

The prompt to confirm went unanswered

Ketika prompt persetujuan kredit penggunaan Fable ditutup tanpa ada yang menjawabnya, Claude Code mengakhiri giliran dengan salah satu pesan ini:

Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change
Fable 5.1 now uses usage credits · the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change

Pesan menyebutkan model Fable sesi, jadi di Fable 5.2 pesan berbunyi continuing on Fable 5.2 dan Fable 5.2 now uses usage credits. Sebelum v2.1.257, pesan pertama dimulai dengan Fable 5 limit reached.

Ini terjadi dalam sesi Remote Control, background sessions, agent team sesi rekan tim, dan sesi yang aplikasi lain menghosting melalui Agent SDK. Untuk kapan Claude Code menutup prompt, lihat Fable and usage credits.

Yang harus dilakukan:

  • Di mana sesi berjalan, di terminal atau di aplikasi yang menghosting, kirim prompt lain dan jawab prompt persetujuan ketika muncul kembali. Untuk sesi latar belakang, lampirkan terlebih dahulu dari agents view. Mengirim ulang dari klien Remote Control menampilkan pesan ini lagi, karena klien tidak dapat menampilkan prompt.
  • Jalankan /model untuk beralih ke model yang tidak menagih kredit penggunaan
  • Untuk memberi diri Anda lebih banyak waktu, atur dialogExpiry ke nilai yang lebih lama atau "never"

Sebelum v2.1.236, pesan ini tidak muncul: sementara klien Remote Control terhubung, Claude Code menunggu 60 detik untuk jawaban dan kemudian melanjutkan giliran pada model default Anda.

Server is temporarily limiting requests

API menerapkan throttle jangka pendek yang tidak terkait dengan kuota paket Anda.

API Error: Server is temporarily limiting requests (not your usage limit)

Claude Code membedakan ini dari batas paket Anda dengan tidak adanya header kuota terpadu yang dibawa respons batas nyata. Mulai dari v2.1.199 ini dicoba ulang secara otomatis dengan backoff sebelum ditampilkan, terlepas dari cara Anda mengautentikasi. Pada versi sebelumnya, sesi yang masuk dengan langganan claude.ai gagal pada giliran pertama; hanya API key dan Enterprise sign-ins yang mencoba ulangnya.

Yang harus dilakukan:

Request rejected (429)

Anda telah mencapai rate limit yang dikonfigurasi untuk kunci API, proyek Amazon Bedrock, atau proyek Google Cloud Anda.

API Error: Request rejected (429) · this may be a temporary capacity issue. If it persists, check https://status.claude.com.

Kalimat di akhir menyebutkan di mana memeriksa kesehatan layanan dan bervariasi menurut penyedia. Konfigurasi Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry menyebutkan status layanan penyedia itu sebagai gantinya dari halaman status Anthropic. ANTHROPIC_BASE_URL kustom menyebutkan host gateway.

Ketika proxy, load balancer, atau gateway antara Claude Code dan API menjawab dengan halaman HTML 429-nya sendiri, teks setelah · adalah judul halaman itu ketika memiliki satu, seperti Too Many Requests. Sebelum v2.1.281, markup halaman lengkap dicetak setelah ·.

Yang harus dilakukan:

  • Jalankan /status dan konfirmasi kredensial aktif adalah yang Anda harapkan. ANTHROPIC_API_KEY yang tersesat di lingkungan Anda dapat merutekan permintaan melalui kunci tingkat rendah daripada langganan Anda.
  • Periksa konsol penyedia Anda untuk batas aktif dan minta tingkat yang lebih tinggi jika diperlukan
  • Untuk kunci API Anthropic, lihat rate limits reference untuk cara kerja tingkat dan cara menetapkan batas per-workspace
  • Kurangi concurrency: hindari menjalankan banyak subagent paralel, atau beralih ke model yang lebih kecil dengan /model untuk run skrip volume tinggi

You've hit your monthly spend limit

Penggunaan yang disertakan paket Anda tidak dapat menutupi permintaan ini, dan kredit penggunaan yang sebaliknya akan membayarnya telah mencapai batas pengeluaran. Itu terjadi ketika salah satu jendela penggunaan paket Anda telah habis, atau ketika permintaan adalah permintaan yang hanya dibayar oleh kredit penggunaan, seperti permintaan ke model yang bills to usage credits. Pesan menyebutkan batas siapa yang memblokir Anda. Teks setelah · mengatakan cara meningkatkan batas itu, dan bervariasi dengan paket Anda dan apakah Anda mengelola penagihan:

You've hit your monthly spend limit · raise it at https://claude.ai/settings/usage?from=cc_cli_limit_message
You've hit your individual spend limit · ask your admin for a higher limit
You've hit your org's monthly spend limit · visit https://claude.ai/admin-settings/usage to raise it
You've hit your team's shared budget · ask your admin to raise it at https://claude.ai/admin-settings/usage
You've hit your channel's monthly spend limit · an org owner or channel manager can raise it in the channel's Claude settings

team's shared budget adalah anggaran terpusat yang admin tetapkan untuk grup yang Anda termasuk; pesan tidak menyebutkan grup. channel's monthly spend limit adalah anggaran dari satu channel Slack tempat sesi berjalan, jadi organisasi Anda mungkin masih memiliki anggaran di luar itu.

Ketika salah satu jendela paket Anda adalah yang habis, pesan juga mengatakan kapan jendela itu direset, misalnya · your session limit resets 3:45pm, dan akses kembali kemudian tanpa siapa pun menaikkan batas. Pada organisasi dengan penagihan berbasis penggunaan, pesan mengatakan usage limit sebagai gantinya dari spend limit, seperti dalam You've hit your individual usage limit.

Jika Anda terhubung melalui gateway aplikasi Claude dan melihat spend limit reached huruf kecil, itu adalah batas operator gateway Anda sebagai gantinya; lihat Spend limit reached.

Yang harus dilakukan:

  • Di Pro, Max, dan Ultra, tingkatkan batas pengeluaran bulanan Anda di Settings > Usage di claude.ai, atau jalankan /usage-credits
  • Di Team dan Enterprise, tingkatkan batas di Organization settings > Usage jika Anda mengelola penagihan, atau minta admin untuk melakukannya. /usage-credits mengirim permintaan itu ke admin Anda untuk Anda
  • Untuk batas channel, minta pemilik org atau manajer channel untuk menaikkannya di claude.ai. Lihat Per-channel limits dalam dokumentasi Claude Tag
  • Jika pesan menyebutkan waktu reset untuk jendela paket Anda, Anda dapat menunggunya sebagai gantinya
  • Jalankan /usage untuk melihat jendela paket Anda dan kapan masing-masing direset

Spend limit reached

Anda terhubung melalui Claude apps gateway dan telah mencapai spend cap yang ditetapkan operator gateway Anda. Gateway memblokir permintaan Anda sampai operator menaikkan batas, atau sampai batas direset jika nilainya di atas $0. Gateway menandai setiap respons 429 yang diblokir dengan x-should-retry: false, sehingga di terminal Claude Code menampilkan pesan ini tanpa mencoba ulang.

spend limit reached · resets Dec 1

Periksa apakah pesan memuat tanggal:

  • Dengan tanggal: batas direset pada pukul 00:00 UTC pada tanggal tersebut
  • Tanpa tanggal: batas Anda adalah $0, atau gateway Anda menjalankan versi yang lebih lama dari v2.1.225

Teks tambahan apa pun dalam pesan adalah catatan dari operator gateway Anda.

Dari v2.1.225 hingga v2.1.319 di server gateway, pesan menyebutkan periode batas dan waktu reset, seperti dalam spend limit reached (daily; resets 2026-08-09 00:00 UTC).

Yang harus dilakukan:

  • Jika pesan memuat tanggal, tunggu reset, atau ikuti catatan operator jika pesan membawanya
  • Minta operator gateway Anda untuk menaikkan batas jika pesan tidak memuat tanggal, jika Anda masih diblokir setelah tanggal tersebut, atau jika Anda mencapai batas secara rutin

Pesan gateway kedua, This request exceeds your group's budget, berarti anggaran terpusat grup Anda telah habis. Ikuti langkah-langkah yang disebutkannya:

This request exceeds your group's budget. Ask your organization's admins to raise it, or try again after it resets on November 1 at 00:00 UTC.

Pesan terkait, spend limit unavailable, berarti gateway tidak dapat membaca catatan pengeluarannya dan memblokir permintaan sebagai tindakan pencegahan daripada atas batas Anda. Biasanya ini hilang dengan sendirinya; jika terus berlanjut, beri tahu operator gateway Anda.

Credit balance is too low

Organisasi Console Anda telah kehabisan kredit prabayar, atau Claude Code mengirim permintaan Anda dengan kunci API Console ketika Anda bermaksud menggunakan langganan Anda.

Credit balance is too low

Yang harus dilakukan:

  • Jika Anda memiliki paket Pro, Max, Ultra, Team, atau Enterprise dan melihat ini, jalankan /status dan periksa baris API key. ANTHROPIC_API_KEY yang disetujui di lingkungan Anda merutekan permintaan melalui kunci itu daripada langganan Anda. Batalkan pengaturannya di shell saat ini dan hapus dari profil shell Anda, kemudian luncurkan ulang claude. Jalankan /login jika Anda belum masuk dengan langganan Anda.
  • Tambahkan kredit di platform.claude.com/settings/billing, dan pertimbangkan untuk mengaktifkan auto-reload di sana sehingga saldo diisi ulang sebelum mencapai nol
  • Atur batas pengeluaran per-workspace di Console untuk mencegah satu proyek menguras saldo org. Lihat Manage costs effectively.

Could not update your spend limit

Server menolak perubahan batas pengeluaran yang Anda buat dari prompt yang muncul ketika Anda mencapai batas pengeluaran Anda.

Could not update your spend limit: <reason from the server>

Ketika server menjelaskan penolakan, pesan berakhir dengan alasan itu, dan mencoba ulang nilai yang sama gagal lagi. Ketika kegagalan tidak memiliki alasan yang disediakan server, seperti koneksi yang terputus, pesan berbunyi Could not update your spend limit. Press Enter to retry. dan mencoba ulang dapat berhasil. Sebelum v2.1.216, Claude Code menampilkan bentuk generik untuk setiap kegagalan.

Yang harus dilakukan:

  • Jika pesan menyertakan alasan, pilih batas yang memuaskannya, seperti jumlah yang lebih rendah
  • Jika pesan hanya menampilkan bentuk generik, coba ulang; kegagalan mungkin bersifat sementara
  • Jika perubahan terus gagal, buatlah dari claude.ai billing settings Anda di browser sebagai gantinya

Error autentikasi

Error berikut berarti Claude Code tidak dapat membuktikan identitas Anda kepada API. Jalankan /status kapan saja untuk melihat kredensial mana yang sedang aktif.

Not logged in

Tidak ada kredensial valid yang tersedia untuk sesi ini.

Not logged in · Please run /login

Dalam sesi yang dijalankan oleh aplikasi Claude Desktop, seperti tab Code atau Cowork, pesannya berbunyi Authentication required · Sign in again to continue, dan Anda masuk kembali dari aplikasi tersebut.

Jika Anda masuk dengan akun claude.ai Anda di jendela Claude Code lain yang menggunakan direktori konfigurasi yang sama, sesi interaktif yang menampilkan pesan ini akan mulai menggunakan login tersebut dengan sendirinya. Anda tidak perlu memulainya ulang.

Sebelum v2.1.286 di macOS, sesi dapat terus menampilkan pesan tersebut setelah Anda masuk dari jendela lain. Pada versi tersebut, mulai ulang sesi yang menampilkan pesan itu.

Yang perlu dilakukan:

  • Jalankan /login untuk mengautentikasi dengan langganan Claude atau akun Console Anda
  • Jika Anda mengharapkan environment variable yang mengautentikasi Anda, pastikan ANTHROPIC_API_KEY telah diatur dan diekspor di shell tempat Anda menjalankan claude
  • Untuk CI atau otomatisasi yang tidak memungkinkan login interaktif, konfigurasikan skrip apiKeyHelper yang mengambil kunci saat startup
  • Jika job claude -p keluar dengan pesan ini ketika seseorang masuk kembali ke akun dan organisasi claude.ai yang sama, perbarui Claude Code di tempat proses masuk tersebut dijalankan. Sebelum v2.1.318, Claude Code menghapus login tersimpan selama proses masuk tersebut, sebelum menyimpan login yang baru.
  • Lihat Prioritas autentikasi untuk memahami kredensial mana yang digunakan Claude Code ketika terdapat beberapa kredensial

Jika Anda berulang kali diminta untuk masuk, lihat Not logged in or token expired untuk pemeriksaan jam sistem dan langkah pemulihan penyimpanan kredensial macOS.

Could not resolve authentication method

Sesi mencapai klien API tanpa kredensial apa pun. Sesi latar belakang dan sesi cloud menampilkan pesan ini ketika worker dimulai tanpa kredensial. Eksekusi interaktif, -p, dan Agent SDK melaporkan kondisi yang sama sebagai Not logged in dan menulis string ini hanya ke log debug mereka, jadi jika Anda menemukannya di sana, ikuti entri tersebut.

Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted

Pada versi saat ini, error ini berarti tidak ada kredensial yang tersedia untuk proses worker. Sebelum v2.1.174, sesi latar belakang yang ditugaskan ke worker pra-inisialisasi yang menganggur dapat gagal dengan cara ini meskipun kredensial valid telah dikonfigurasi. Sebelum v2.1.176, sesi cloud yang menganggur sebelum diklaim juga dapat mengalami hal yang sama. Lakukan upgrade untuk memulihkannya.

Yang perlu dilakukan:

  • Upgrade ke v2.1.176 atau lebih baru jika pesan ini muncul di sesi latar belakang atau sesi cloud dan kredensial Anda sudah dikonfigurasi
  • Pastikan ANTHROPIC_API_KEY, CLAUDE_CODE_OAUTH_TOKEN, atau kredensial penyedia cloud Anda diatur di lingkungan yang menjalankan worker, bukan hanya di shell interaktif Anda
  • Untuk Agent SDK, lihat pengaturan autentikasi di mulai cepat
  • Jalankan /status dalam sesi interaktif di lingkungan yang sama untuk memastikan sumber kredensial mana yang digunakan

Invalid API key

Environment variable ANTHROPIC_API_KEY atau skrip apiKeyHelper mengembalikan kunci yang ditolak oleh API, atau Claude Code memblokir kunci dari ANTHROPIC_API_KEY sebelum mengirimkannya.

Invalid API key · Fix external API key

Ketika pesan berlanjut setelah Fix external API key dengan deskripsi seperti Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines)., API tidak pernah melihat kunci tersebut. Claude Code menemukan karakter yang tidak dapat dibawa oleh header HTTP dan menghentikan permintaan sebelum mengirimkannya. Lihat Invalid request header value untuk cara membaca deskripsi dan memperbaiki nilainya.

Yang perlu dilakukan:

  • Periksa kesalahan ketik dan pastikan kunci belum dicabut di Console
  • Di shell yang sama, jalankan env | grep ANTHROPIC, atau di PowerShell Get-ChildItem Env:ANTHROPIC*. Alat seperti direnv, plugin shell dotenv, dan terminal IDE dapat memuat kunci usang dari file .env di proyek Anda tanpa Anda mengaturnya secara eksplisit.
  • Hapus pengaturan ANTHROPIC_API_KEY dan jalankan /login untuk menggunakan autentikasi langganan sebagai gantinya
  • Jika kunci berasal dari skrip apiKeyHelper, jalankan skrip secara langsung untuk memastikan skrip mencetak kunci yang valid ke stdout
  • Jalankan /status untuk memastikan sumber kredensial mana yang sebenarnya digunakan Claude Code

Your apiKeyHelper script is failing

Claude Code menjalankan perintah di pengaturan apiKeyHelper Anda dan tidak mendapatkan kunci kembali. Tanpa kunci, permintaan mencapai API dengan kredensial placeholder, dan API menolaknya dengan 401. Panel Authentication di terminal menunjukkan mana yang terjadi di antara hal berikut:

  • Perintah keluar dengan error atau mengalami timeout
  • Perintah tidak mencetak apa pun ke stdout
  • Perintah mencetak sesuatu selain kunci, seperti banner login atau baris log. Panel menampilkan returned output that cannot be used as an API key dan menyebutkan masalahnya, tanpa mengulang output tersebut. Sebelum v2.1.227, Claude Code mengirimkan apa pun yang dicetak perintah, setelah memangkas spasi di sekitarnya.
Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output

Dalam mode non-interaktif, stderr juga memuat alasan spesifiknya, diawali dengan apiKeyHelper failed:.

Claude Code menjalankan ulang skrip dan mencoba ulang permintaan hingga dua kali lagi sebelum menampilkan pesan ini, sehingga kegagalan muncul dalam tiga percobaan. Sebelum v2.1.208, Claude Code menghabiskan seluruh anggaran retry untuk mengirim ulang permintaan dengan kredensial placeholder, lalu melaporkan error autentikasi 401 generik alih-alih kegagalan skrip.

Menjalankan /login tidak membantu di sini: output helper diutamakan daripada login tersimpan selama pengaturan tersebut ada.

Yang perlu dilakukan:

  • Jalankan perintah yang dikonfigurasi di apiKeyHelper secara langsung di shell Anda untuk mereproduksi kegagalan
  • Jika perintah melaporkan sesi yang kedaluwarsa, autentikasi ulang dengan penyedia kredensial Anda, misalnya dengan masuk kembali ke SSO atau secrets vault Anda
  • Perbaiki perintah agar hanya mencetak kunci ke stdout, sebagai satu token ASCII yang dapat dicetak dengan panjang hingga 16.384 karakter, dan keluar dengan exit code 0. Lihat rotasi kredensial dengan apiKeyHelper untuk pengaturan yang berfungsi.
  • Jalankan /status untuk melihat kegagalan dan memastikan apiKeyHelper adalah sumber kredensial yang aktif. Baris apiKeyHelper menampilkan Failing beserta detail kegagalan terakhir, seperti exit code dan output error perintah, dan menghilang setelah eksekusi berikutnya berhasil. Sebelum v2.1.274, /status hanya menampilkan sumber kredensial, bukan kegagalannya.
  • Setiap kali perintah gagal, exit code dan output error-nya juga muncul di panel Authentication di terminal. Sebelum v2.1.212, panel tersebut berjudul Cloud authentication.

Claude Code didn't send your claude.ai login

Pesan-pesan ini berarti Claude Code menolak permintaan Anda dan tidak mengirimkan login claude.ai Anda:

Your organization's settings need an update. Ask your administrator to fix the API key helper configuration.
Couldn't load your organization's settings. Check your connection, then restart Claude Code.
Restart Claude Code to finish signing in.

Yang harus dilakukan:

  • Your organization's settings need an update: minta administrator Anda untuk memperbaiki konfigurasi API key helper
    • Untuk memberi tahu administrator Anda sumber terkelola mana yang ada di mesin Anda, jalankan /status di prompt Claude Code dan salin baris Setting sources. Jika muncul baris Skipped sources, salin juga baris tersebut
    • Jika Anda mengelola pengaturan dan helper berada di file pengaturan terkelola mesin atau kebijakan MDM, lihat When a machine's apiKeyHelper isn't in effect
  • Couldn't load your organization's settings: periksa koneksi Anda, lalu mulai ulang Claude Code. Jika pesan muncul kembali setelah memulai ulang, beri tahu administrator Anda
  • Restart Claude Code to finish signing in: mulai ulang Claude Code

Sebelum v2.1.315, prompt atau unggahan file yang ditolak mencetak satu pesan yang diawali dengan Claude Code didn't send your claude.ai login.

Invalid request header value

Nilai yang akan dikirim Claude Code sebagai header permintaan mengandung karakter yang tidak dapat dibawa oleh header HTTP: pemisah baris, byte NUL, atau karakter di atas U+00FF, seperti tanda kutip melengkung atau spasi lebar-nol. Claude Code menghentikan permintaan sebelum apa pun dikirim dan menyebutkan variabel atau pengaturan yang perlu diperbaiki. Penyebab umumnya adalah kredensial yang ditempel dari dokumen atau obrolan yang membawa karakter tak terlihat atau pemisah baris yang tidak disengaja.

Claude Code menjalankan pemeriksaan ini ketika mengirim permintaan ke Claude API secara langsung atau melalui LLM gateway. Pada penyedia cloud pihak ketiga seperti Amazon Bedrock, Claude Code tidak menjalankannya sebelum mengirim.

Invalid auth token · Fix external auth token
Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable
Invalid request header from the environment · Fix the environment variable

Bagian pertama pesan bergantung pada asal nilai yang salah:

  • Invalid auth token: bearer token dari ANTHROPIC_AUTH_TOKEN atau CLAUDE_CODE_OAUTH_TOKEN
  • Invalid ANTHROPIC_CUSTOM_HEADERS: nama atau nilai header yang Anda atur di ANTHROPIC_CUSTOM_HEADERS. Deskripsi menghitung pasangan Name: Value mana yang bermasalah, seperti distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS, tanpa mengulang nama atau nilainya, karena Anda yang memilih keduanya.
  • Invalid request header from the environment: nilai yang disalin Claude Code ke header permintaan dari environment variable lain, seperti CLAUDE_AGENT_SDK_CLIENT_APP. Deskripsi menyebutkan variabel yang perlu diperbaiki.

Claude Code melaporkan ANTHROPIC_API_KEY yang salah yang tertangkap oleh pemeriksaan ini sebagai Invalid API key, dengan deskripsi penutup yang sama. Claude Code melaporkan kredensial /login tersimpan yang salah sebagai Not logged in; jalankan /login untuk menyimpan kredensial baru. Output skrip apiKeyHelper tidak pernah mencapai pemeriksaan ini: Claude Code memvalidasinya saat skrip berjalan, dan output yang tidak dapat dibawa oleh header HTTP gagal dengan Your apiKeyHelper script is failing.

Setelah · kedua, pesan menjelaskan masalahnya, seperti pada contoh lengkap berikut:

Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).

Posisi menghitung karakter mulai dari satu. Deskripsi dibangun dari frasa tetap dan jumlah karakter, sehingga tidak pernah menyertakan nilai itu sendiri. Deskripsi menyebutkan karakter yang bermasalah hanya jika karakter tersebut merupakan karakter tak terlihat atau tipografis yang dikenal luas, seperti byte-order mark, spasi lebar-nol, atau tanda kutip melengkung, dan melaporkan karakter lainnya sebagai a non-ASCII character.

Yang perlu dilakukan:

  • Atur ulang variabel atau pengaturan yang disebutkan pesan, ketik ulang karakter di sekitar posisi yang dilaporkan alih-alih menempelkannya lagi dari sumber yang sama
  • Untuk ANTHROPIC_CUSTOM_HEADERS, pertahankan satu pasangan Name: Value per baris dan tulis ulang pasangan yang dihitung oleh pesan
  • Jalankan /status untuk memastikan sumber kredensial mana yang aktif

This organization has been disabled

Claude Code menggunakan ANTHROPIC_API_KEY usang dari organisasi Console yang dinonaktifkan. Ketika Anda memiliki login langganan tersimpan, kunci tersebut menimpanya.

Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead
Your ANTHROPIC_API_KEY belongs to a disabled organization · Update or unset the environment variable
API Error: 400 ... This organization has been disabled.

Petunjuk setelah · bergantung pada kredensial tersimpan Anda: bentuk pertama muncul ketika /login yang tersimpan dapat mengambil peran setelah Anda menghapus pengaturan kunci, dan bentuk kedua ketika kunci tersebut adalah satu-satunya kredensial Anda.

Jika Anda mengekspor kunci di profil shell Anda atau memuatnya dari .env, Claude Code menggunakannya alih-alih /login, bahkan dengan langganan Pro, Max, atau Ultra yang berfungsi. Dalam mode non-interaktif (-p), kunci selalu digunakan jika ada.

Yang perlu dilakukan:

  • Hapus pengaturan ANTHROPIC_API_KEY di shell saat ini dan hapus dari profil shell Anda, lalu jalankan ulang claude
  • Jika pesan menyebutkan Update or unset, Anda tidak memiliki login tersimpan sebagai cadangan. Hapus pengaturan kunci dan jalankan /login, atau ganti kunci dengan kunci dari organisasi Console yang aktif.
  • Jalankan /status setelahnya untuk memastikan kredensial aktif adalah langganan Anda
  • Jika tidak ada environment variable yang diatur dan error tetap muncul, hubungi dukungan atau masuk dengan akun lain.

Your organization has disabled API key authentication

Pesan ini memerlukan Claude Code v2.1.169 atau lebih baru. Admin organisasi Console Anda telah menonaktifkan autentikasi kunci API, sehingga API menolak kunci yang dikirim Claude Code. Petunjuk pemulihan setelah · bervariasi tergantung asal kunci:

Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account
Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY to use your claude.ai account instead
Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY and run /login to sign in with your claude.ai account
Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account
Your organization has disabled API key authentication · Sign in again with your claude.ai account

Bentuk terakhir muncul dalam sesi yang dijalankan oleh aplikasi Claude Desktop, seperti tab Code atau Cowork, tempat Anda masuk kembali dari aplikasi.

Environment variable dan apiKeyHelper diutamakan daripada /login, sehingga menjalankan /login saja tidak membantu selama salah satunya masih menyediakan kunci. Lihat Prioritas autentikasi.

Yang perlu dilakukan:

  • Jika pesan menyebutkan ANTHROPIC_API_KEY, hapus pengaturannya di shell saat ini dan hapus dari profil shell atau file .env Anda, lalu jalankan ulang claude
  • Jika pesan menyebutkan apiKeyHelper, hapus pengaturan apiKeyHelper dari settings.json Anda
  • Jalankan /login untuk masuk dengan akun claude.ai Anda
  • Jalankan /status setelahnya untuk memastikan kredensial aktif adalah langganan Anda, bukan kunci API
  • Jika Anda memerlukan autentikasi kunci API untuk otomatisasi, minta admin organisasi Anda untuk mengaktifkannya kembali di Console

Your organization has disabled Claude subscription access

Organisasi Claude Anda tidak mengizinkan masuk ke Claude Code dengan login langganan. Menjalankan /login lagi dengan akun yang sama akan menghasilkan error yang sama.

Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access

Ini adalah pengaturan organisasi di sisi server, sehingga tidak dapat ditimpa dari pengaturan lokal, environment variable, atau flag CLI.

Agent SDK dan mode non-interaktif -p menampilkan ini sebagai kode error oauth_org_not_allowed.

Yang perlu dilakukan:

  • Minta admin Anda untuk mengaktifkan akses Claude Code bagi organisasi Anda
  • Autentikasi dengan kunci API Console alih-alih langganan Anda. Lihat Autentikasi Claude Console untuk pengaturannya.
  • Jika Anda adalah admin dan tidak melihat opsi untuk mengaktifkan akses, hubungi dukungan Anthropic

Scheduled tasks are off for your organization

Tugas terjadwal cloud dinonaktifkan untuk organisasi Anda, sehingga Anda tidak dapat membuat atau menjalankannya. Pesan dari claude.ai menyebutnya scheduled tasks atau routines, dan diikuti kalimat tentang admin Anda:

Scheduled tasks are off for your organization. …
Routines are off for your organization. …

Anda tidak dapat mengaktifkannya dengan pengaturan lokal, environment variable, atau flag CLI.

Yang perlu dilakukan:

Remote Control requires the Anthropic API

Sesi tidak berkomunikasi langsung dengan Anthropic API, yang diperlukan oleh Remote Control.

Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.

Kalimat kedua menjelaskan apa yang mengalihkan sesi dari Anthropic API; sebelum v2.1.219, pesannya hanya berupa kalimat pertama. Tergantung penyebabnya, pesan menyebutkan:

  • Variabel penyedia CLAUDE_CODE_USE_*, seperti CLAUDE_CODE_USE_BEDROCK untuk Amazon Bedrock atau CLAUDE_CODE_USE_VERTEX untuk Agent Platform Google Cloud
  • ANTHROPIC_BASE_URL yang mengarah ke host selain api.anthropic.com, seperti LLM gateway atau proxy, bahkan ketika Anda masuk dengan claude.ai; sebelum v2.1.196, base URL kustom tidak memblokir Remote Control
  • ANTHROPIC_UNIX_SOCKET diatur, sehingga sesi mengirim permintaannya melalui socket lokal alih-alih ke api.anthropic.com
  • Proses masuk cloud gateway enterprise yang dilakukan melalui /login, yang tidak mendukung Remote Control dan tidak memiliki variabel untuk dihapus pengaturannya

Yang perlu dilakukan:

  • Hapus pengaturan variabel yang disebutkan pesan, seperti CLAUDE_CODE_USE_BEDROCK atau ANTHROPIC_BASE_URL, dan mulai ulang sesi, atau mulai Remote Control dari sesi yang berkomunikasi langsung dengan Anthropic API
  • Jika variabel tidak diatur di shell Anda, periksa kunci env di file pengaturan Anda, yang menerapkan environment variable ke setiap sesi
  • Untuk pesan ini dan pesan startup Remote Control lainnya, lihat Pemecahan masalah Remote Control

Remote Control couldn't refresh your login

Claude Code menjalankan koneksi Remote Control aktif dengan kredensial berumur pendek yang diperoleh dan diperbaruinya menggunakan login claude.ai tersimpan Anda. Ketika claude.ai berhenti menerima login tersebut, atau Claude Code tidak lagi memiliki login tersimpan, Claude Code menghentikan Remote Control dan memerlukan Anda untuk masuk kembali. Kedua kegagalan dapat terjadi saat Claude Code masih menghubungkan atau kemudian, saat memperbarui kredensial.

Ketika Claude Code meminta layanan login untuk me-refresh login tersimpan Anda dan tidak mendapat jawaban, Claude Code tetap menjalankan Remote Control dan mencoba refresh lagi selama kredensial koneksi saat ini masih valid. Refresh tidak mendapat jawaban ketika Claude Code tidak dapat menjangkau layanan login, permintaan mengalami timeout, atau layanan gagal tanpa menolak login Anda. Jika layanan login masih belum menjawab saat kredensial tersebut kedaluwarsa, Claude Code menghentikan Remote Control dan melaporkan OAuth token refresh failed.

Ketika Claude Code menghentikan Remote Control, Claude Code menampilkan alasannya dalam peringatan dan dalam baris transkrip yang diawali dengan Remote Control disconnected. Sesi lokal Anda tetap berjalan tanpa Remote Control. Bagian ini mencakup baris-baris berikut:

Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control
Remote Control disconnected — Claude.ai login expired — run /login, then /remote-control
Remote Control disconnected — Claude.ai login was rejected — run /login, then /remote-control
Remote Control disconnected — OAuth token unavailable — run /login to restore Remote Control
Remote Control disconnected — OAuth token refresh failed — run /login to re-authenticate
Remote Control disconnected — JWT refresh failed: no OAuth token — run /login
Remote Control disconnected — Signed out of Claude — run /login, then /remote-control

Claude Code menyebutkan penyebabnya di bagian tengah pesan:

  • Claude.ai login expired dan Claude.ai login was rejected: claude.ai tidak lagi menerima token login tersimpan Anda, karena token tersebut kedaluwarsa atau dicabut
  • OAuth token unavailable: Claude Code tidak memiliki token login tersimpan ketika kredensial koneksi sudah waktunya diperbarui
  • OAuth token refresh failed: claude.ai menolak token login tersimpan Anda saat Claude Code sedang menghubungkan ulang, dan me-refresh token tidak menghasilkan token baru
  • JWT refresh failed: no OAuth token: Claude Code tidak menemukan token login tersimpan untuk melakukan pembaruan
  • Signed out of Claude: Anda keluar di mesin ini, misalnya dengan menjalankan /logout di terminal lain, sehingga Claude Code tidak lagi memiliki login tersimpan untuk memperbarui koneksi

Yang perlu dilakukan:

  • Jalankan /login untuk masuk kembali
  • Jalankan /remote-control untuk menghubungkan ulang sesi. Pesan yang diakhiri dengan run /login to restore Remote Control tidak memerlukan langkah ini: Claude Code terhubung ulang dengan sendirinya setelah Anda masuk.

Sebelum v2.1.224, OAuth token refresh failed — run /login to re-authenticate berbunyi OAuth token refresh failed — re-authenticate, then re-enable Remote Control, dan JWT refresh failed: no OAuth token — run /login berbunyi no OAuth token available for recovery (code <N>). Pesan Claude.ai login expired, Claude.ai login was rejected, dan OAuth token unavailable ditambahkan di v2.1.225.

Sebelum v2.1.238, Claude Code melaporkan kasus yang sekarang menyebutkan Signed out of Claude sebagai JWT refresh failed: no OAuth token — run /login, dan menghentikan Remote Control dengan Claude.ai login expired — run /login to restore Remote Control segera setelah satu refresh login tidak mendapat jawaban.

Remote Control could not renew this computer's connection

Peringatan ini muncul di terminal yang menjalankan claude remote-control ketika server tidak dapat menggunakan login claude.ai Anda untuk memperbarui kredensial koneksinya sebelum kedaluwarsa. Kalimat terakhir peringatan menyebutkan berapa lama kredensial saat ini masih berfungsi, atau bahwa kredensial tersebut sudah kedaluwarsa:

Remote Control could not renew this computer's connection: claude.ai did not accept the sign-in it uses. Run `claude /login` to sign in again. The connection keeps working for about 26 hours; if it still cannot sign in then, it stops.

Yang perlu dilakukan:

  • Jika peringatan meminta Anda menjalankan claude /login, buka terminal lain di mesin yang menjalankan server, jalankan claude /login di sana, dan masuk dengan akun claude.ai Anda
  • Jika server masih tidak dapat masuk setelah kredensial koneksi kedaluwarsa, server mencetak kesalahan yang berisi Poll: Authentication failed (401) dan berhenti. Masuk kembali seperti yang disebutkan dalam kalimat kedua peringatan, lalu jalankan claude remote-control lagi di terminal tempat server berhenti.

Remote Control stopped because the signed-in account changed

Claude Code menampilkan baris ini selama sesi Remote Control ketika Anda masuk ke akun atau organisasi claude.ai yang berbeda di mesin ini. Anda melakukan pergantian tersebut di luar sesi Claude Code, misalnya dengan menjalankan /login di terminal lain.

Sesi Remote Control yang Anda mulai saat masuk melalui /login menjadi milik akun dan organisasi claude.ai yang sedang masuk pada saat itu.

Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control

Claude Code menghentikan sesi Remote Control segera setelah claude.ai mengonfirmasi bahwa akun atau organisasi telah berubah. Sesi lokal Anda tetap berjalan tanpa Remote Control.

Yang perlu dilakukan:

  • Jalankan /remote-control untuk memulai sesi Remote Control baru di bawah akun atau organisasi saat ini
  • Untuk beralih kembali, jalankan /login dan masuk kembali ke akun atau organisasi sebelumnya. Kemudian jalankan /remote-control.

Sebelum v2.1.234, Claude Code tidak menyadari ketika Anda beralih ke akun atau organisasi lain di luar sesi Claude Code. Claude Code membiarkan sesi Remote Control tetap terhubung hingga permintaan berikutnya ke server Remote Control gagal dengan Remote Control server rejected the request (HTTP 404). Kegagalan tersebut dapat terjadi berjam-jam setelah pergantian.

Remote Control stopped because the app running the session signed out or switched accounts

Ketika aplikasi desktop Claude atau IDE menjadi host sesi Anda, Claude Code mendapatkan token login-nya dari aplikasi tersebut, bukan dari /login. Ketika claude.ai menolak token tersebut, Claude Code meminta token baru dari aplikasi. Jika aplikasi menjawab bahwa aplikasi telah keluar, atau bahwa aplikasi kini masuk ke akun Claude yang berbeda, Claude Code mengakhiri sesi Remote Control dan mengirimkan salah satu baris berikut ke aplikasi:

Remote Control stopped — the app running this session is now signed in to a different Claude account
Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on

Sesi lokal Anda tetap berjalan tanpa Remote Control.

Yang perlu dilakukan:

  • Jika aplikasi telah keluar, masuk kembali ke aplikasi tersebut, lalu aktifkan kembali Remote Control di aplikasi
  • Jika aplikasi beralih akun, Claude Code tidak dapat melanjutkan sesi yang telah berakhir di bawah akun baru. Mulai sesi Remote Control baru di bawah akun tersebut.

Sebelum v2.1.238, Claude Code mengirimkan pesan run /login yang tercantum di bagian Remote Control couldn't refresh your login ke aplikasi dalam kedua kasus.

OAuth token revoked or expired

Login tersimpan Anda tidak lagi valid. Token yang dicabut berarti Anda keluar di semua tempat atau admin menghapus akses; token yang kedaluwarsa berarti refresh otomatis gagal di tengah sesi.

Kedua pesan melaporkan penolakan yang dikembalikan API untuk permintaan yang dikirim Claude Code. Ketika login tersimpan sudah dihapus setelah refresh yang gagal, Anda akan melihat Login expired sebagai gantinya. Jika Anda mengautentikasi dengan token berumur panjang di CLAUDE_CODE_OAUTH_TOKEN, Anda akan melihat pesan yang sama ketika token tersebut kedaluwarsa atau dicabut.

OAuth token revoked · Please run /login
Please run /login · API Error: 401 OAuth token has expired ...

Dalam mode non-interaktif (-p) dan Agent SDK, pesannya berbunyi sebagai berikut, dan kode error terstrukturnya adalah authentication_failed:

Failed to authenticate: OAuth token revoked. Please log in again or contact your administrator.
Failed to authenticate. API Error: 401 OAuth token has expired ...

Sebelum v2.1.287, dalam mode non-interaktif dan Agent SDK, pesan token yang dicabut berbunyi Your account does not have access to Claude. Please login again or contact your administrator.

Yang perlu dilakukan:

  • Jalankan /login di prompt Claude Code untuk masuk kembali
  • Jika perintah -p atau program Agent SDK Anda menggunakan login tersimpan, jalankan claude di lingkungan yang sama, selesaikan /login, lalu jalankan perintah atau program tersebut lagi. Untuk otomatisasi yang tidak dapat masuk secara interaktif, autentikasi dengan ANTHROPIC_API_KEY atau buat token berumur panjang dengan claude setup-token.
  • Jika Anda mengautentikasi dengan environment variable CLAUDE_CODE_OAUTH_TOKEN, Claude Code terus mengirimkan nilai yang Anda atur setelah permintaan gagal dengan 401, alih-alih beralih ke token dari login tersimpan. /status menampilkan kredensial ini sebagai baris Auth token yang berbunyi CLAUDE_CODE_OAUTH_TOKEN. Buat token baru dengan claude setup-token dan mulai ulang dengan token tersebut, atau hapus pengaturan variabel dan jalankan /login. Sebelum v2.1.225, Claude Code dapat mengganti nilai variabel di tengah sesi dengan token akses berumur pendek dari login tersimpan, dan sesi kembali gagal dengan error 401 setelah token tersebut kedaluwarsa.
  • Untuk permintaan masuk yang berulang di setiap peluncuran, lihat pemeriksaan jam sistem dan langkah pemulihan penyimpanan kredensial macOS di Pemecahan masalah
  • Untuk kegagalan lain termasuk 403 Forbidden dan masalah browser OAuth, lihat Login dan autentikasi

API Error: 401 Invalid authentication credentials

API mengenali format kredensial Anda tetapi menolak akun atau organisasi di baliknya. Anthropic mengembalikan pesan ini ketika kredensial baru saja dicabut, ketika organisasi dinonaktifkan atau menghapus akses Anda, atau ketika akun itu sendiri dinonaktifkan, sehingga token yang kedaluwarsa bukanlah penyebabnya. Kredensial tersebut dapat berupa login tersimpan Anda atau ANTHROPIC_API_KEY yang disetujui, dan perbaikannya berbeda, jadi mulailah dengan menjalankan /status untuk melihat mana yang aktif.

Please run /login · API Error: 401 Invalid authentication credentials

Yang perlu dilakukan:

  • Jika /status menampilkan baris API key yang tidak ditandai sebagai tidak digunakan, ANTHROPIC_API_KEY yang disetujui adalah kredensial aktif dan diutamakan daripada login Anda, sehingga /login tidak menggantikannya. Rotasi kunci di Claude Console, atau kembali ke langganan Anda dengan menjalankan unset ANTHROPIC_API_KEY, atau di PowerShell Remove-Item Env:ANTHROPIC_API_KEY.
  • Jika /status hanya menampilkan login Anda, jalankan /login sekali. Jika kredensial telah dicabut, login baru akan menggantikannya.
  • Jika pesan yang sama muncul kembali untuk akun login yang sama, akun atau organisasi tersebut tidak lagi aktif. Periksa akun dan organisasi yang dilaporkan /status, dan minta admin organisasi Anda untuk memulihkan akses.
  • Jika ANTHROPIC_BASE_URL mengarah ke LLM gateway, teks setelah 401 adalah pesan dari gateway Anda, bukan dari Anthropic, dan /login tidak mengubahnya. Perbaiki kredensial yang diharapkan gateway Anda sebagai gantinya.
  • Jika setiap permintaan gagal dengan 401 setelah gateway Anda memiliki kredensial yang diharapkannya, periksa bahwa gateway dan upstream-nya menerima field tool search. Secara default, Claude Code mengirim field tool defer_loading dan blok tool_reference, dengan header anthropic-beta yang mengaktifkannya. Sebelum v2.1.304, tool search dinonaktifkan di balik gateway kecuali Anda mengaktifkannya dengan ENABLE_TOOL_SEARCH.

Login expired

Claude Code mencoba memperbarui login claude.ai tersimpan Anda dan layanan OAuth menolak refresh token yang tersimpan, sehingga Claude Code menghapus kredensial tersimpan. Setelah itu, setiap permintaan model berhenti secara lokal dengan pesan ini sebelum mencapai API, karena hanya /login yang dapat membuat kredensial baru.

Sebelum v2.1.206, Claude Code tetap mengirimkan permintaan model dengan kredensial apa pun yang tersisa di lingkungan, dan setiap model kemudian gagal dengan There's an issue with the selected model atau 401 alih-alih permintaan untuk masuk.

Login expired · Please run /login

Dalam mode non-interaktif (-p) dan Agent SDK, pesannya berbunyi sebagai berikut, dan kode error terstrukturnya adalah authentication_failed:

Failed to authenticate: OAuth session expired and could not be refreshed

Untuk pesan Login expired yang diakhiri dengan or re-authenticate your Anthropic profile, lihat Anthropic profile login expired.

Ini bukan kondisi yang sama dengan OAuth token revoked or expired. Pesan-pesan tersebut melaporkan penolakan yang dikembalikan API. Claude Code sendiri yang menghasilkan Login expired untuk login yang sudah gagal diperbaruinya, sehingga tidak mengirimkan permintaan. Ketika pembaruan gagal karena akun itu sendiri ditangguhkan, bukan karena login yang usang, Claude Code menampilkan Your account is on hold sebagai gantinya.

Anda dapat memeriksa kondisi ini sebelum permintaan gagal: /status menampilkan baris Login yang berbunyi Expired — log in again, ditambah organisasi dan email yang disimpan untuk login yang kedaluwarsa. Baris ini hanya muncul ketika login tersimpan adalah kredensial aktif Anda dan tidak dapat lagi di-refresh. Sesi yang diautentikasi dengan cara lain tidak menampilkan baris ini, meskipun login yang kedaluwarsa masih tersimpan. Sebelum v2.1.210, /status tidak memberikan indikasi dalam kondisi ini bahwa login pernah ada, karena kredensial yang dihapus tidak menyisakan apa pun untuk dilaporkan.

Yang perlu dilakukan:

  • Jalankan /login untuk masuk kembali. Mencoba ulang tanpa masuk akan menampilkan pesan yang sama pada setiap permintaan.
  • Jika Anda masuk dengan akun claude.ai Anda di jendela Claude Code lain, lihat Not logged in untuk mengetahui kapan sesi ini mulai menggunakan login tersebut dengan sendirinya.
  • Dalam mode non-interaktif, jalankan claude di lingkungan yang sama, selesaikan /login, lalu jalankan ulang perintah Anda. Untuk otomatisasi yang tidak dapat masuk secara interaktif, autentikasi dengan ANTHROPIC_API_KEY atau buat token berumur panjang dengan claude setup-token.
  • Jika proses masuk terus gagal, lihat Login dan autentikasi

Could not refresh your login because another Claude Code process is refreshing it

Pesan ini tidak berarti login Anda ditolak. Login claude.ai tersimpan Anda telah kedaluwarsa dan perlu diperbarui. Proses Claude Code lain di mesin yang sama memegang kunci refresh bersama, atau keluar dan meninggalkannya, dan refresh tidak mengalami kemajuan selama sesi ini menunggu. Claude Code menghentikan permintaan sebelum mengirimkannya:

Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login

Dalam mode non-interaktif (-p) dan Agent SDK, pesannya berbunyi sebagai berikut, dan kode error terstrukturnya adalah server_error:

Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again

Yang perlu dilakukan:

  • Coba lagi dalam satu menit. Jika proses lain menyelesaikan refresh terlebih dahulu, sesi ini menggunakan login yang telah diperbarui.
  • Jika pesan terus muncul, tutup jendela dan proses Claude Code lainnya, lalu coba lagi.
  • Jika pesan muncul tanpa ada proses Claude Code lain yang berjalan, jalankan /login. Masuk kembali tidak menunggu kunci refresh.

Could not refresh your login: the disk that holds the Claude Code config directory is full

Kosongkan ruang pada disk yang menyimpan direktori konfigurasi Claude Code, lalu kirim pesan Anda lagi. Masuk kembali tidak akan membantu selama disk penuh, karena login baru tidak dapat disimpan. Direktori konfigurasi adalah ~/.claude di direktori home Anda kecuali Anda mengatur CLAUDE_CONFIG_DIR.

Could not refresh your login: the disk that holds the Claude Code config directory (~/.claude by default), or your disk quota on it, is full · Delete files you no longer need on that disk, then try again · Signing in again won't help

Dalam mode non-interaktif (-p) dan Agent SDK, pesannya berbunyi:

Failed to refresh OAuth token: the disk that holds the Claude Code config directory (~/.claude by default), or your disk quota on it, is full. Delete files you no longer need on that disk and retry; signing in again won't help

Yang harus dilakukan:

  • Untuk skrip, jalankan ulang perintah claude -p-nya
  • Jika disk sudah menunjukkan ruang kosong, kehabisan kuota disk atau inode menghasilkan pesan yang sama. Hapus file milik Anda sendiri di disk tersebut. Jika pesan muncul kembali, hapus banyak file kecil alih-alih beberapa file besar, karena setiap file memakan satu inode berapa pun ukurannya.

Couldn't save your login

Anda masuk dengan claude.ai, tetapi Claude Code tidak dapat menyimpan login ke penyimpanan kredensialnya, sehingga login tidak selesai. Di macOS, hal ini dapat terjadi ketika login keychain terkunci, misalnya saat sleep atau idle, setelah Claude Code sudah membaca atau menyimpan kredensial di dalamnya selama sesi yang sama.

Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.
Couldn't save your login. Try logging in again.

Bentuk pertama muncul di macOS dan bentuk kedua di platform lainnya. Kegagalan penyimpanan kredensial yang bersifat sementara, seperti timeout atau penyimpanan yang tidak dapat dibaca, menghasilkan pesan yang sama.

Yang perlu dilakukan:

  • Di macOS, buka kunci login keychain, lalu jalankan /login lagi
  • Di platform lain, jalankan /login lagi
  • Jika login masih tidak tersimpan, lihat Not logged in or token expired untuk perintah membuka kunci keychain dan langkah pemulihan penyimpanan kredensial lainnya

Sign in again to take your previous account or API key off the config file

Peringatan ini setelah Anda masuk berarti akun apa pun yang sebelumnya Anda gunakan untuk masuk mungkin masih tersimpan di ~/.claude.json:

Sign in again to take your previous account or API key off the config file.

Kunci API mungkin juga masih ada di ~/.claude.json jika login Console membuatnya di Linux atau Windows.

Yang perlu dilakukan:

  • Jalankan claude auth login di shell Anda untuk masuk kembali. Claude Code kemudian mencoba ulang penyimpanan yang menghapus akun atau kunci API yang diganti dari file tersebut.

Your account or API key may still be in the config file

Anda menjalankan /logout atau claude auth logout, dan Claude Code mengeluarkan proses ini tetapi tidak dapat memastikan bahwa ~/.claude.json tidak lagi menyimpan akun Anda. Entah penyimpanan tidak berhasil, atau file tidak dapat dibaca kembali untuk diperiksa.

Your account or API key may still be in the config file. Run claude auth logout.

Kunci API mungkin juga masih ada di ~/.claude.json jika login Console membuatnya di Linux atau Windows.

Yang perlu dilakukan:

  • Jalankan claude auth logout di shell Anda untuk mencoba menyimpan lagi. Ketika penyimpanan berhasil, perintah mencetak Successfully logged out from your Anthropic account.

Couldn't start the local listener that receives the browser sign-in

Masing-masing pesan ini dari /login, claude auth login, atau claude setup-token berarti Claude Code tidak dapat membuka port di 127.0.0.1 tempat browser Anda mengembalikan hasil masuk.

Dengan pemberitahuan yang diawali The browser can't return the sign-in to Claude Code automatically, proses masuk berlanjut tanpa port tersebut. Tidak ada browser yang terbuka, dan pemberitahuan muncul di atas URL tempat Anda masuk sebagai gantinya:

The browser can't return the sign-in to Claude Code automatically. After you sign in, paste the code shown.

Dengan pesan yang menyertakan Couldn't start the local listener, proses masuk berhenti. Hal ini terjadi, misalnya, ketika Anda mem-pipe input ke claude auth login:

Couldn't start the local listener that receives the browser sign-in. Try again.

Yang perlu dilakukan:

  • The browser can't return the sign-in to Claude Code automatically: Anda tidak perlu memperbaiki apa pun terlebih dahulu. Buka URL yang ditampilkan di bawah pemberitahuan di browser dan masuk. Browser kemudian menampilkan kode: tempelkan ke Claude Code di prompt Paste code here >, dan proses masuk berlanjut dari sana.
  • Couldn't start the local listener that receives the browser sign-in: jalankan perintah yang sama lagi. Jika berhenti dengan cara yang sama, masuk dengan token atau kunci API alih-alih browser. Atau, jika Anda mem-pipe input ke claude auth login, jalankan di terminal agar dapat menerima kode yang ditempel.
  • Untuk masuk dengan token atau kunci API alih-alih browser: jika Anda menggunakan langganan claude.ai, jalankan claude setup-token di mesin tempat proses masuk berfungsi. Kemudian atur token yang dicetaknya sebagai environment variable CLAUDE_CODE_OAUTH_TOKEN di mesin ini. Jika tidak, atur environment variable ANTHROPIC_API_KEY ke kunci dari Claude Console. Prioritas autentikasi menjelaskan bagaimana Claude Code memilih di antara kredensial.
  • Untuk mengembalikan pengembalian browser otomatis: Claude Code harus dapat mendengarkan di 127.0.0.1. Jika berjalan di dalam sandbox, periksa apakah kebijakan sandbox mengizinkan mendengarkan di port lokal, lalu masuk kembali. Jika mendengarkan seharusnya berfungsi di sana dan pemberitahuan masih muncul, jalankan /feedback agar laporan menyertakan detail lingkungan Anda.

Sebelum v2.1.305, proses masuk berhenti segera setelah port tidak dapat dibuka dan tidak menampilkan URL untuk masuk. Pesannya berbunyi, misalnya, Failed to start OAuth callback server: Failed to start server. Is port 0 in use?. Pada versi-versi tersebut, perbarui Claude Code dan masuk kembali, atau masuk dengan token atau kunci API alih-alih browser.

Claude login not accepted

Anda mencoba memulai sesi cloud, dan server menolak membuatnya dengan 401: server tidak menerima login Claude yang dikirim mesin ini, biasanya karena login telah kedaluwarsa atau dicabut.

Bagian pertama baris tersebut adalah alasan dari server sendiri jika server memberikannya. Jika tidak, barisnya berbunyi:

Claude login not accepted · Run /login, then try again

Yang perlu dilakukan:

  • Jalankan /login, selesaikan proses masuk, lalu mulai sesi lagi

Artifacts need a claude.ai login

Claude Code menolak publikasi atau pembacaan artifact karena sesi tidak memiliki login claude.ai yang dapat digunakan untuk artifact.

Setiap bentuk pesan diawali dengan kata-kata yang sama, diikuti solusi yang bergantung pada cara sesi Anda diautentikasi. Tanpa kredensial yang bersaing, pesannya berbunyi:

Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.

Yang perlu dilakukan:

  • Jalankan /login dan pilih Claude account with subscription. Opsi Anthropic Console account tidak menyediakan kredensial claude.ai.
  • Ketika pesan menyebutkan kredensial yang diutamakan, seperti ANTHROPIC_API_KEY, pengaturan apiKeyHelper, atau kunci Console yang disimpan oleh /login sebelumnya, hapus kredensial tersebut sesuai petunjuk pesan, lalu jalankan /login
  • Ketika pesan menyebutkan bahwa sesi jarak jauh ini diautentikasi melalui mesin yang meluncurkannya, masuk ke claude.ai di mesin tersebut, lalu hubungkan ulang sesi
  • Ketika pesan menyebutkan bahwa kredensial disuntikkan oleh lingkungan host sesi, Anda tidak dapat mengubahnya dalam sesi tersebut; mulai sesi yang masuk ke claude.ai
  • Lihat Ketersediaan untuk persyaratan artifact lainnya, seperti paket, penyedia model, dan kebijakan organisasi

Administrator policy requires a Cloud gateway sign-in

Pengaturan terkelola administrator di mesin ini mengatur forceLoginMethod ke "gateway" atau mengatur forceLoginGatewayUrl. Kecuali Anda memilih penyedia cloud melalui variabel seperti CLAUDE_CODE_USE_BEDROCK, Claude Code kemudian hanya menerima proses masuk Claude apps gateway. Anda akan melihat salah satu dari dua pesan:

Not signed in to the Cloud gateway — run /login.

Permintaan model gagal dengan pesan ini ketika sesi tidak memiliki proses masuk gateway, misalnya karena Anda belum menjalankan /login sejak kebijakan diterapkan ke mesin.

Jika mesin juga menyimpan kredensial yang diterbitkan Anthropic dan pengaturan terkelola mengatur forceLoginMethod atau forceLoginOrgUUID, Claude Code keluar saat startup sebagai gantinya. Kredensial tersebut dapat berupa variabel ANTHROPIC_API_KEY atau ANTHROPIC_AUTH_TOKEN, pengaturan apiKeyHelper, atau kunci API yang disimpan oleh login Claude Console sebelumnya.

Pesan startup menyebutkan kredensial yang dikonfigurasi untuk sesi, tempat kredensial tersebut diatur, dan langkah untuk menghapusnya. Misalnya, dengan variabel ANTHROPIC_API_KEY yang diatur di shell Anda, pesannya berbunyi:

Administrator policy requires a Cloud gateway sign-in on this machine, but this session is configured with an API key from ANTHROPIC_API_KEY, which a gateway machine does not accept.

To continue: unset ANTHROPIC_API_KEY (or run in a shell without it), then run claude and sign in with /login.

Yang perlu dilakukan:

  • Untuk Not signed in to the Cloud gateway, jalankan /login dan selesaikan proses masuk di layar Cloud gateway
  • Untuk pesan startup, hapus kredensial dengan mengikuti langkah-langkah di akhir pesan
  • Jika Anda yakin mesin tersebut seharusnya tidak memerlukan gateway, minta administrator yang mengelolanya untuk menghapus forceLoginMethod dan forceLoginGatewayUrl dari pengaturan terkelolanya

Sebelum v2.1.284, pesan startup mencantumkan kredensial yang mungkin alih-alih menyebutkan kredensial yang dikonfigurasi. Pesan tersebut diawali dengan Administrator policy requires a Cloud gateway sign-in on this machine; the Anthropic-issued credential configured here (ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, or apiKeyHelper) is not used. Jika Anda melihat kata-kata tersebut dan tidak dapat menentukan kredensial mana yang harus dihapus, perbarui ke v2.1.284 atau lebih baru dan mulai claude lagi.

Pada v2.1.265, sebuah regresi juga menampilkan pesan pertama di beberapa konfigurasi LLM gateway dan proxy yang diautentikasi dengan kunci API, apiKeyHelper, atau header kustom, bahkan tanpa persyaratan administrator di mesin. Perbarui ke v2.1.266 atau lebih baru. Anda tidak perlu mengubah konfigurasi Anda.

Sebelum v2.1.261, di mesin yang mengatur forceLoginMethod ke "gateway", Claude Code menggunakan login tersimpan yang tersisa alih-alih menggagalkan permintaan model, dan melaporkan kredensial lingkungan yang dikonfigurasi dengan This machine's managed settings require a first-party login alih-alih pesan startup.

Your account is on hold

Akun Claude di balik login Anda telah ditangguhkan. Claude Code menampilkan pesan pertama ketika mencoba memperbarui login tersimpan Anda dan mengetahui penangguhan tersebut, dan pesan kedua ketika proses masuk yang Anda selesaikan di browser melaporkannya:

Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted
Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted

Masuk kembali dengan akun yang sama tidak menghilangkan pesan tersebut, karena penangguhan berlaku pada akun, bukan pada login. Dalam mode non-interaktif (-p) dan Agent SDK, kode error terstrukturnya adalah account_on_hold. Sebelum v2.1.235, Claude Code melaporkan akun yang ditangguhkan sebagai Login expired · Please run /login, yang langkah pemulihannya tidak dapat menghapus penangguhan.

Yang perlu dilakukan:

  • Buka tautan di pesan untuk melihat detail penangguhan atau mengajukan banding
  • Jika Anda memiliki akun Claude lain atau kunci API yang tidak terpengaruh oleh penangguhan, Anda dapat terus bekerja selama penangguhan diselesaikan: jalankan /login dengan akun tersebut, atau atur kunci dengan ANTHROPIC_API_KEY

Anthropic profile login expired

Claude Code melakukan autentikasi melalui profil kredensial Anthropic yang kredensial login tersimpannya telah kedaluwarsa, dan profil tersebut tidak menyimpan kredensial penyegaran yang dapat digunakan Claude Code untuk memperbaruinya. Claude Code menghentikan setiap permintaan secara lokal tanpa mencoba ulang.

Anthropic profile login expired · Re-authenticate your Anthropic profile
Login expired · Run /login to sign in again, or re-authenticate your Anthropic profile

Yang perlu dilakukan:

  • Jika pesan diawali dengan Login expired, jalankan /login untuk masuk kembali
  • Untuk memperbarui profil yang ditulis oleh login Console tanpa kunci atau ant auth login dari Claude Platform CLI, jalankan /login di mesin yang menawarkan login tanpa kunci. Pilih akun Anthropic Console, lalu Sign in with your Console account. Claude Code mengganti kredensial yang kedaluwarsa di profil tersebut
  • Untuk memperbarui profil yang dibuat oleh alat lain, masuk kembali dengan alat tersebut. Jika Anda memilih Sign in with your Console account di /login, Claude Code membiarkan profil apa adanya dan membuat kunci API
  • Jika administrator yang menyediakan kredensial profil, minta mereka untuk menerbitkan kredensial baru
  • Jalankan /status untuk memastikan sumber kredensial aktif dan nama profil
  • Untuk berhenti menggunakan profil, hapus pengaturan ANTHROPIC_PROFILE jika Anda mengaturnya, lalu autentikasi dengan cara lain, seperti /login atau ANTHROPIC_API_KEY

Cara pesan dimulai memberi tahu Anda bagaimana Claude Code menemukan profil:

  • Ketika Claude Code menemukan profil dari direktori konfigurasi Anda dan mode autentikasinya adalah user_oauth, pesan diawali dengan Login expired dan menawarkan /login terlebih dahulu. Claude Code memberikan prioritas kepada /login yang berfungsi daripada profil yang ditemukan, lalu melakukan autentikasi dengan akun claude.ai Anda sebagai gantinya. Dari v2.1.234 hingga v2.1.277, bentuk ini berbunyi Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile. Sebelum v2.1.234, Claude Code juga menampilkan bentuk Re-authenticate your Anthropic profile dalam kasus ini.
  • Ketika Anda memilih profil dengan ANTHROPIC_PROFILE, pesan diawali dengan Anthropic profile login expired.

Ini hanya muncul ketika kredensial aktif berasal dari profil kredensial Anthropic, yaitu profil yang Anda pilih dengan environment variable ANTHROPIC_PROFILE, yang ditemukan Claude Code sebagai profil aktif di direktori konfigurasi Anthropic Anda, atau yang ditulis Claude Code ketika Anda masuk tanpa kunci API. Sesi yang diautentikasi dengan kunci API, bearer token seperti ANTHROPIC_AUTH_TOKEN, atau penyedia pihak ketiga tidak pernah melihat pesan ini.

OAuth scope requirement

Token yang tersimpan dibuat sebelum adanya scope izin yang dibutuhkan oleh fitur yang lebih baru:

OAuth token does not meet scope requirement: user:profile

Yang perlu dilakukan:

  • Jalankan /login untuk mendapatkan token baru dengan scope saat ini. Anda tidak perlu keluar terlebih dahulu.

claude.ai rejected the session token

Permintaan konektor claude.ai gagal karena claude.ai menolak token dari login Claude Code Anda. Token yang ditolak adalah login Anda, bukan otorisasi konektor itu sendiri di claude.ai, sehingga mengotorisasi konektor lagi tidak menyelesaikannya. Di /mcp, konektor ditampilkan sebagai session token rejected dan tampilan detailnya berbunyi:

claude.ai rejected the session token. Run /login, then reconnect.

Yang perlu dilakukan:

  • Jalankan /login untuk masuk kembali
  • Hubungkan ulang konektor dari /mcp, atau jalankan /mcp reconnect <server>. Menghubungkan ulang sebelum Anda masuk kembali akan membuat konektor tetap dalam kondisi yang sama. Opsi Reconnect di panel /mcp melaporkan your claude.ai session token was rejected; bentuk /mcp reconnect <server> yang diketik melaporkan penghubungan ulang yang berhasil meskipun token masih ditolak.

Sebelum v2.1.222, Claude Code menandai konektor sebagai memerlukan autentikasi, yang mengarahkan Anda ke alur otorisasi konektor meskipun menyelesaikannya tidak mengatasi kondisi tersebut.

MCP server needs you to sign in again

Server MCP jarak jauh menolak kredensial pada panggilan tool di tengah sesi, biasanya karena proses masuk atau token telah kedaluwarsa atau karena token tidak memiliki izin yang dibutuhkan tool. Panggilan tool gagal, dan /mcp menandai server sebagai memerlukan autentikasi.

Untuk server yang Anda masuki dari Claude Code, termasuk konektor claude.ai, proses masuk telah kedaluwarsa atau dicabut:

MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)

Jalankan /mcp, pilih server, dan masuk kembali dari menunya.

Untuk server yang dikonfigurasi dengan skrip headersHelper, Claude Code telah menjalankan ulang helper dan mencoba ulang panggilan sekali sebelum menampilkan ini:

MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)

Periksa bahwa helper mengembalikan kredensial yang diterima server, lalu hubungkan ulang dari /mcp, yang menjalankan helper lagi.

Untuk server dengan header Authorization statis di konfigurasinya:

MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)

Perbarui nilai header di tempat server dikonfigurasi, lalu hubungkan ulang dari /mcp.

Dalam sesi Cowork di mesin Anda pada aplikasi Claude Desktop, pesan-pesan ini berarti server MCP menolak kredensial yang diberikan kepadanya. Perbaiki kredensial yang disebutkan pesan, lalu mulai tugas atau obrolan baru di Cowork:

MCP server "<name>" rejected the credential from its headersHelper (check the helper, then start a new task or chat)
MCP server "<name>" rejected the Authorization header in its config (update it, then start a new task or chat)
  • Kredensial headersHelper ditolak: periksa apakah helper mengembalikan kredensial yang diterima server, lalu mulai tugas atau obrolan baru di Cowork
  • Header Authorization ditolak: perbarui nilai Authorization di bawah headers dalam konfigurasi server tersebut, lalu mulai tugas atau obrolan baru di Cowork

Sebelum v2.1.302, sesi Cowork menampilkan akhiran run /mcp to reconnect, meskipun /mcp tidak tersedia di sana. Jika Anda melihat akhiran tersebut di Cowork, tetap periksa helper atau perbarui header, lalu mulai tugas atau obrolan baru. Sebelum v2.1.273, kasus login kedaluwarsa, headersHelper, dan header Authorization semuanya menampilkan MCP server "<name>" requires re-authorization (token expired).

Server juga dapat menolak panggilan tool dengan HTTP 403 insufficient_scope untuk meminta Anda mengotorisasi suatu scope, terkadang scope yang sudah tercantum di token Anda. Pesan menyebutkan scope tersebut:

MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate

Jalankan /mcp, pilih server, dan autentikasi kembali dari menunya.

Ketika konfigurasi server tidak mengatur oauth.scopes maupun authServerMetadataUrl, Claude Code meminta scope yang disebutkan server. Dengan salah satu pengaturan tersebut, Claude Code meminta scope dari pengaturan itu sebagai gantinya. Jika Anda menetapkan oauth.scopes, tambahkan scope yang hilang ke daftar tersebut sebelum Anda mengautentikasi kembali.

Sebelum v2.1.274, kasus ini menampilkan pesan needs you to sign in again, dan sebelum v2.1.273 menampilkan requires re-authorization (token expired) seperti kasus lainnya.

Couldn't read the stored credentials for MCP server

Claude Code menyimpan proses masuk Anda untuk server MCP OAuth di penyimpanan kredensial. Pesan ini berarti Claude Code tidak dapat membaca penyimpanan tersebut, sehingga permintaan ke server tidak dijalankan:

Couldn't read the stored credentials for MCP server "<name>", so the request didn't run. If your Mac's keychain is locked, unlock it, then try again.
Couldn't read the stored credentials for MCP server "<name>", so the request didn't run. Try again.

Proses masuk tersimpan Anda tidak berubah: coba lagi setelah penyimpanan dapat dibaca, dan masuk kembali hanya jika server kemudian memintanya.

Dalam eksekusi claude -p atau Agent SDK di macOS, keychain dapat menjadi terbaca setelah sebuah permintaan sudah terkirim tanpa proses masuk yang tersimpan. Permintaan tersebut gagal dengan:

A request to MCP server "<name>" was sent without your stored credentials, so the server rejected it. The credentials are available now. Try again.

Yang harus dilakukan:

  • Jika pesan meminta Anda membuka kunci keychain Mac Anda, jalankan claude doctor di sesi shell tempat Anda menjalankan Claude Code, dan periksa laporannya untuk peringatan keychain:

    • Jika laporan mencantumkan peringatan yang diawali dengan macOS Keychain is not writable, atau shell Anda tidak memiliki perintah claude, jalankan perintah buka kunci ini di sesi shell tersebut:

      security unlock-keychain ~/Library/Keychains/login.keychain-db
      
    • Jika laporan tidak mencantumkan peringatan keychain, lewati perintah buka kunci

  • Coba lagi di tempat Anda melihat pesan tersebut:

    • Untuk claude -p, jalankan perintah lagi
    • Dalam sesi interaktif, hubungkan ulang server dari /mcp jika server ditampilkan sebagai gagal di sana, lalu minta Claude untuk mencoba lagi
    • Dalam aplikasi Agent SDK yang terus berjalan, panggil reconnectMcpServer() di TypeScript atau ClaudeSDKClient.reconnect_mcp_server() di Python, atau mulai sesi baru
  • Jika server kemudian melaporkan bahwa server memerlukan autentikasi, Claude Code tidak menemukan proses masuk yang dapat digunakannya untuk server tersebut. Masuk secara interaktif: jalankan /mcp dalam sesi Claude Code, atau claude mcp login <name> di shell Anda. Dalam aplikasi Agent SDK, lihat Autentikasi OAuth2 di Agent SDK.

Sebelum v2.1.307, eksekusi claude -p atau Agent SDK di Mac dengan login keychain yang terkunci melaporkan server sebagai memerlukan autentikasi alih-alih menampilkan salah satu pesan tersebut.

MCP server URL is missing or not a valid URL

Claude Code menolak memulai proses masuk OAuth untuk server MCP jarak jauh karena url yang dikonfigurasi untuk server tidak dapat diurai sebagai URL. Kecuali Claude Code memiliki masalah konfigurasi yang lebih spesifik untuk dilaporkan bagi server tersebut, menjalankan claude mcp login <name> di shell Anda mencetak penolakan sebagai:

Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.

Yang perlu dilakukan:

  • Atur url entri ke endpoint server yang sebenarnya di tempat server dikonfigurasi, atau atur environment variable yang disebutkan oleh referensi ${VAR} miliknya, lalu jalankan proses masuk lagi.

Issuer mismatch in authorization response

Selama proses masuk OAuth MCP, server otorisasi mengarahkan kembali ke Claude Code dengan parameter iss yang tidak menyebutkan issuer yang diharapkan Claude Code dari metadata OAuth server. Issuer yang salah pada langkah ini merupakan ciri serangan mix-up server otorisasi, sehingga Claude Code menggagalkan proses masuk alih-alih menukar kode otorisasi. Claude Code menampilkan error di menu server /mcp setelah proses masuk browser:

Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"

expected adalah issuer dari metadata OAuth server, dan received adalah nilai iss yang dibawa redirect. Proses masuk yang redirect-nya tidak membawa parameter iss lolos pemeriksaan, kecuali metadata server mengatur authorization_response_iss_parameter_supported, dalam hal ini Claude Code menggagalkan proses masuk.

Yang perlu dilakukan:

  • Coba proses masuk lagi dari /mcp
  • Jika error berulang, laporkan ke operator server. Perbaikannya ada di sisi server: server otorisasi harus mengembalikan issuer yang sama di parameter iss dengan yang diiklankannya di metadata
  • Untuk terhubung selama server sedang diperbaiki, mulai Claude Code dengan MCP_SDK_GENERATION=v1, yang runtime-nya tidak menjalankan pemeriksaan ini. Ini menghilangkan perlindungan terhadap serangan mix-up, jadi utamakan perbaikan di sisi server

Sebelum v2.1.232, Claude Code menggunakan runtime v2 hanya dalam peluncuran bertahap atau ketika Anda mengatur MCP_SDK_GENERATION=v2.

Refusing to send credentials to non-https token endpoint

Pada runtime v2, Claude Code mengirimkan permintaan token OAuth MCP hanya ke token endpoint yang dilayani melalui HTTPS atau di localhost, 127.0.0.1, atau ::1. Pesan ini berarti token endpoint server bukan keduanya, sehingga Claude Code berhenti sebelum mengirimkan permintaan. Hal itu terjadi setelah proses masuk browser, sehingga langkah browser berhasil terlebih dahulu, dan terjadi lagi setiap kali Claude Code me-refresh token server.

Dalam bentuk lengkapnya, pesan ini berasal dari MCP SDK dan mengutip token endpoint yang ditolaknya. Di log debug, pesan ini mengikuti Error during auth completion: untuk proses masuk atau Token refresh failed: untuk refresh. Di shell Anda, claude mcp login <name> mencetaknya setelah Couldn't complete authentication for "<name>":, dan dalam sesi, /mcp menampilkannya di bawah menu server:

Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).

Claude Code memperlakukan URL server yang memiliki query string atau segmen path panjang yang tampak acak sebagai kemungkinan rahasia. Untuk server seperti itu, Claude Code menyamarkan error proses masuk yang dimunculkan MCP SDK sebelum menampilkan atau menuliskannya ke log. Error ini kemudian terbaca sebagai nama pendek yang dapat berubah antar rilis, seperti io, diikuti oleh from the MCP SDK for dan URL server yang disamarkan. Error lain dari MCP SDK memiliki bentuk yang sama di sana. Pesan yang disamarkan dapat berupa error ini hanya ketika token endpoint server adalah http:// biasa di alamat selain localhost, 127.0.0.1, atau ::1.

Yang perlu dilakukan:

  • Layani token endpoint tersebut melalui HTTPS, misalnya dengan menempatkan server di belakang reverse proxy atau tunnel yang mengakhiri TLS dan mengonfigurasi server untuk mengiklankan alamat https://
  • Untuk terhubung tanpa mengubah server, mulai Claude Code dengan MCP_SDK_GENERATION=v1, yang runtime-nya tidak menerapkan aturan ini dan mengirimkan permintaan token melalui HTTP biasa. Pilihan tersebut berlaku hingga Anda keluar dan berlaku untuk setiap server. Runtime v1 juga melewati pemeriksaan issuer, jadi utamakan melayani endpoint melalui HTTPS

AWS credentials expired or invalid

Token sesi AWS Anda telah kedaluwarsa atau ditolak. Pesan ini muncul pada 401 dari Claude Platform on AWS atau endpoint Mantle, yang merupakan cara penyedia tersebut melaporkan token keamanan yang kedaluwarsa.

Petunjuk tindakan di bagian tengah bervariasi sesuai pengaturan Anda. Bagian yang tetap adalah awalan AWS credentials expired or invalid:

AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...

Sebelum v2.1.273, pesan ini hanya muncul ketika awsAuthRefresh dikonfigurasi.

Yang perlu dilakukan:

  • Jika petunjuk menyebutkan bahwa kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial tersebut dan langkah lain di sini tidak berlaku: coba lagi, atau hubungi administrator Anda
  • Jika awsAuthRefresh diatur, jalankan perintah yang disebutkan dalam pesan, seperti aws sso login --profile myprofile, di terminal lain dan selesaikan proses masuk browser, lalu coba lagi. Jika tidak, refresh sendiri kredensial AWS yang Anda gunakan: proses masuk SSO, access key, kunci API, atau token proxy Anda
  • Dengan awsAuthRefresh diatur dalam sesi interaktif, Anda dapat menjalankan /login sebagai gantinya, pilih 3rd-party platform, lalu pilih Claude Platform on AWS · refresh credentials di bawah Using 3rd-party platforms untuk menjalankan perintah yang sama tanpa memulai ulang Claude Code. Lihat Konfigurasi kredensial AWS
  • Jika error berulang setelah perintah refresh berhasil, pastikan identitas valid di luar Claude Code dengan aws sts get-caller-identity di shell dan profil yang sama

AWS authentication failed

Penyedia AWS Anda mengembalikan 403, atau Amazon Bedrock mengembalikan 401.

Amazon Bedrock melaporkan token keamanan yang kedaluwarsa sebagai 403, tetapi 403 juga merupakan cara Amazon Bedrock melaporkan penolakan otorisasi, seperti AccessDeniedException karena izin IAM yang tidak ada. Claude Code tidak dapat membedakan kedua penyebab tersebut.

401 dari Amazon Bedrock juga masuk ke sini alih-alih ke AWS credentials expired or invalid, karena Amazon Bedrock tidak melaporkan token yang kedaluwarsa sebagai 401. 401 dari endpoint tersebut biasanya berasal dari hal lain di jalur permintaan, seperti proxy perusahaan.

Refresh kredensial memperbaiki token yang kedaluwarsa tetapi tidak dapat memperbaiki penyebab lainnya, sehingga pesan menawarkan keduanya:

AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...

Petunjuk tindakan di bagian tengah bervariasi sesuai pengaturan Anda. Bagian yang tetap adalah awalan AWS authentication failed.

Ketika 403 merupakan jawaban Amazon Bedrock bahwa Anda tidak memiliki akses ke model dengan ID model yang ditentukan, petunjuk akan meminta Anda untuk mengaktifkan model untuk akun dan region Anda di konsol Amazon Bedrock.

Sebelum v2.1.273, pesan ini hanya muncul ketika awsAuthRefresh dikonfigurasi.

Yang perlu dilakukan:

  • Jika petunjuk menyebutkan bahwa kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial tersebut dan langkah lain di sini tidak berlaku: coba lagi, atau hubungi administrator Anda
  • Refresh kredensial AWS Anda jika kredensial yang kedaluwarsa adalah penyebabnya: jalankan perintah awsAuthRefresh yang disebutkan dalam pesan jika diatur, atau refresh sendiri proses masuk SSO, access key, kunci API, atau token proxy Anda
  • Jika kredensial Anda masih berlaku, pastikan izin IAM di Konfigurasi IAM terpasang pada identitas yang Anda gunakan dan bahwa model yang dipilih diaktifkan untuk akun dan region Anda
  • Jalankan aws sts get-caller-identity untuk memastikan identitas mana yang digunakan oleh permintaan Anda

Google Cloud credentials expired or invalid

Kredensial Google Cloud Anda untuk Agent Platform Google Cloud telah kedaluwarsa atau ditolak: permintaan mengembalikan 401, yang merupakan cara Agent Platform melaporkan kredensial yang kedaluwarsa.

Petunjuk tindakan di bagian tengah bervariasi sesuai pengaturan Anda. Bagian yang tetap adalah awalan Google Cloud credentials expired or invalid:

Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...

Yang perlu dilakukan:

  • Jika petunjuk menyebutkan bahwa kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial tersebut dan langkah lain di sini tidak berlaku: coba lagi, atau hubungi administrator Anda
  • Jika Anda mengautentikasi dengan application default credentials, jalankan perintah gcpAuthRefresh yang disebutkan dalam pesan, atau gcloud auth application-default login, dan selesaikan proses masuk, lalu coba lagi
  • Jika Anda merutekan melalui LLM gateway dengan CLAUDE_CODE_SKIP_VERTEX_AUTH diatur, refresh token gateway di ANTHROPIC_AUTH_TOKEN atau ANTHROPIC_CUSTOM_HEADERS, lalu coba lagi
  • Jika Anda mengautentikasi dengan file kunci service account, pastikan GOOGLE_APPLICATION_CREDENTIALS mengarah ke kunci yang valid. Lihat Konfigurasi kredensial GCP
  • Jika error berulang setelah refresh, pastikan identitas berfungsi di luar Claude Code dengan gcloud auth application-default print-access-token di shell yang sama

Sebelum v2.1.273, 401 dari Agent Platform menampilkan pesan generik Please run /login atau Failed to authenticate sebagai gantinya, yang tidak dapat me-refresh kredensial Google Cloud.

Google Cloud authentication failed

Agent Platform dari Google Cloud mengembalikan 403, yang digunakannya untuk penolakan otorisasi, bukan untuk kredensial yang kedaluwarsa. Biasanya identitas yang Anda gunakan untuk autentikasi tidak memiliki izin IAM, atau model tersebut belum diaktifkan untuk proyek Anda.

Petunjuk tindakan di bagian tengah bervariasi sesuai penyiapan Anda. Bagian yang tetap adalah awalan Google Cloud authentication failed:

Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...

Yang harus dilakukan:

  • Jika petunjuk menyatakan bahwa kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code adalah pemilik kredensial tersebut dan langkah-langkah lain di sini tidak berlaku: coba lagi, atau hubungi administrator Anda
  • Pastikan peran dalam konfigurasi IAM telah diberikan kepada identitas yang Anda gunakan untuk autentikasi
  • Pastikan model telah diaktifkan untuk proyek Anda. Lihat Meminta akses model

Sebelum v2.1.273, 403 dari Agent Platform menampilkan pesan generik Please run /login atau Failed to authenticate, yang tidak dapat memperbarui kredensial Google Cloud.

Microsoft Foundry authentication failed

Microsoft Foundry mengembalikan 401 atau 403: kredensial Azure pada permintaan ditolak, atau identitas di baliknya tidak memiliki akses ke resource Foundry. /login tidak dapat membuat kredensial Azure. Petunjuk tindakan di bagian tengah bervariasi sesuai penyiapan Anda. Bagian yang tetap adalah awalan Microsoft Foundry authentication failed:

Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...

Yang harus dilakukan:

  • Jika petunjuk menyatakan bahwa kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code adalah pemilik kredensial tersebut dan langkah-langkah lain di sini tidak berlaku: coba lagi, atau hubungi administrator Anda
  • Perbarui kredensial yang Anda konfigurasikan di Mengonfigurasi kredensial Azure: rotasi ANTHROPIC_FOUNDRY_API_KEY, buat ANTHROPIC_FOUNDRY_AUTH_TOKEN yang baru, atau jalankan az login agar rantai kredensial default Microsoft Entra dapat masuk kembali
  • Jika kredensial masih berlaku, pastikan identitas tersebut memiliki akses ke resource Foundry. Lihat Konfigurasi Azure RBAC

Sebelum v2.1.273, 401 atau 403 dari Microsoft Foundry menampilkan pesan generik Please run /login atau Failed to authenticate, yang tidak dapat memperbarui kredensial Azure.

Could not load AWS or Google Cloud credentials

Claude Code tidak dapat memperoleh kredensial yang dapat digunakan dari rantai penyedia kredensial AWS atau dari application default credentials Google Anda di mesin tempat Claude Code berjalan, sehingga tidak ada permintaan yang mencapai penyedia cloud Anda. Detail setelah · menyebutkan penyebab spesifiknya, seperti sesi SSO yang kedaluwarsa, application default credentials yang tidak ada yang dilaporkan sebagai Could not load the default credentials, atau proses masuk yang dicabut yang dilaporkan sebagai invalid_grant:

API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.
API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.

Dalam mode non-interaktif dengan -p dan di Agent SDK, kode error terstrukturnya adalah cloud_credential_error. Sebelum v2.1.267, pesan hanya menampilkan teks detail setelah API Error:, dan kode terstrukturnya adalah server_error atau unknown.

Yang harus dilakukan:

AWS default-chain credential resolve timed out

Rantai penyedia kredensial default AWS tidak menghasilkan kredensial dalam 60 detik, sehingga Claude Code menghentikan proses resolusi dan menggagalkan permintaan. Timeout ini adalah salah satu penyebab Could not load AWS or Google Cloud credentials. Kegagalan ini terjadi pada resolusi kredensial lokal: permintaan tidak pernah mencapai Amazon Bedrock, Claude Platform on AWS, atau endpoint Mantle. Claude Code menghapus cache kredensial miliknya dan mencoba ulang sebelum error ini muncul, sehingga saat Anda melihatnya, rantai tersebut telah macet pada beberapa percobaan berulang.

API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.

Penyebab umumnya adalah perintah credential_process dalam profil AWS Anda yang menunggu input yang tidak dapat diterimanya, serta container atau VM yang instance metadata service (IMDS)-nya tidak pernah menjawab probe dari rantai tersebut.

Sebelum v2.1.267, pesannya berbunyi API Error: AWS default-chain credential resolve timed out. Sebelum v2.1.207, rantai yang macet membuat permintaan menunggu tanpa batas alih-alih gagal.

Yang harus dilakukan:

  • Jalankan aws sts get-caller-identity di shell yang sama dengan AWS_PROFILE yang sama. Jika perintah itu juga macet, perbaiki profilnya; perintah credential_process yang meminta input secara interaktif adalah penyebab umum.
  • Selesaikan langkah masuk sebelum memulai Claude Code, misalnya aws sso login --profile myprofile
  • Jika rantai Anda menjalankan proses masuk interaktif yang memang membutuhkan lebih dari 60 detik, seperti SSO dengan MFA melalui wrapper seperti aws-vault, naikkan batasnya dalam milidetik dengan CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS

Bedrock setup verification timed out waiting for AWS

Panggilan ke AWS selama verifikasi kredensial di wizard penyiapan Bedrock, seperti pencarian kredensial atau pemeriksaan identitas, tidak selesai dalam batas 60 detik. Wizard berhenti menunggu dan menggagalkan langkah verifikasi:

Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.

Angka tersebut mencerminkan batas Anda: 60 detik secara default, atau nilai yang Anda tetapkan di CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.

Penyebab umumnya adalah jaringan atau proxy yang menahan permintaan ke AWS, termasuk pembaruan token SSO, serta credential helper yang masih menunggu input yang tidak dapat Anda lihat. Naikkan batasnya hanya jika helper tersebut memang membutuhkan waktu lebih lama.

Satu permintaan ke AWS yang macet juga dapat gagal karena timeout per permintaannya sendiri, yang menampilkan pesan lebih pendek pada langkah yang sama:

A request to AWS timed out. Check your network and proxy settings, then try again.

Ketika timeout yang sama terjadi pada langkah penyematan model, wizard menandai model sebagai unreachable alih-alih menampilkan salah satu pesan tersebut.

Yang harus dilakukan:

  • Jalankan aws sts get-caller-identity di shell yang sama. Jika perintah itu juga macet, kemacetan berada di luar Claude Code, yaitu di jaringan Anda, proxy Anda, atau credential helper dalam profil AWS Anda; perbaiki itu terlebih dahulu.
  • Selesaikan proses masuk interaktif apa pun sebelum membuka wizard, misalnya aws sso login --profile myprofile
  • Jika credential helper dalam profil AWS Anda memang membutuhkan lebih dari 60 detik untuk meminta input dari Anda, naikkan batasnya dalam milidetik dengan CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS

Cloud gateway session expired

Anda masuk melalui Claude apps gateway, dan sesi gateway yang tersimpan di mesin ini telah kedaluwarsa dan tidak dapat diperbarui, atau gateway tidak lagi menerimanya, misalnya setelah JWT secret gateway diganti. Jika Anda melihat baris ini saat memulai claude secara interaktif, sesi telah dibuka dalam keadaan keluar dari gateway:

Cloud gateway session expired — run /login to reconnect.

Baris yang sama dapat muncul di tengah sesi ketika kredensial gateway kedaluwarsa dan Claude Code tidak dapat memperbaruinya.

Dalam eksekusi non-interaktif, sesi latar belakang atau sesi tanpa pengawasan lainnya, atau subperintah claude selain claude auth, Claude Code keluar dengan pesan ini sebagai gantinya ketika gateway tidak lagi menerima sesi tersebut:

Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.

Yang harus dilakukan:

  • Jalankan /login di sesi dan selesaikan proses masuk melalui browser
  • Untuk peluncuran non-interaktif, mulai claude di lingkungan yang sama, jalankan /login, lalu jalankan ulang perintah Anda

Sign-in timed out while waiting for you to continue

Selama proses masuk Claude apps gateway, gateway menyebutkan akun yang masuk, dan Claude Code meminta Anda untuk mengonfirmasinya sebelum menyimpan kredensial. Anda membiarkan konfirmasi terbuka melewati masa berlaku proses masuk itu sendiri, dan gateway tidak menerbitkan refresh token yang dapat memperbaruinya, sehingga Claude Code tidak menyimpan apa pun saat Anda melanjutkan:

Sign-in timed out while waiting for you to continue. Try again.

Yang harus dilakukan:

  • Jalankan /login lagi dan konfirmasi akun sebelum proses masuk kedaluwarsa

Gateway refused the request

Anda masuk melalui Claude apps gateway, dan sebuah permintaan mengembalikan 403: gateway, atau upstream di belakangnya, menolaknya. Masuk kembali tidak mengubah penolakan, sehingga pesan tersebut mengarahkan Anda ke administrator gateway:

Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...

Yang harus dilakukan:

  • Minta administrator gateway Anda untuk menelusuri permintaan tersebut. Bagian akhir API Error: memuat penolakan yang dikembalikan gateway
  • Untuk administrator: aturan kontrol akses pada gateway mengembalikan 403 yang dicatat oleh log audit beserta alasannya, dan penolakan otorisasi dari upstream diteruskan sesuai Pesan error upstream

Sebelum v2.1.273, 403 pada sesi gateway menampilkan pesan generik Please run /login atau Failed to authenticate, dan masuk kembali tidak menghilangkan penolakan tersebut.

Kesalahan jaringan dan koneksi

Sebagian besar kesalahan ini berarti permintaan jaringan dari Claude Code gagal mencapai tujuannya, atau sesuatu antara Claude Code dan API mengubah respons dalam perjalanannya kembali; jika entri juga memiliki penyebab lokal, seperti penulisan arsip yang gagal, isinya akan mengatakan demikian. Mereka biasanya berasal dari jaringan lokal Anda, proxy, atau firewall, atau dari kebijakan jaringan lingkungan cloud.

Unable to connect to API

Koneksi TCP ke API gagal atau tidak pernah selesai. Untuk kode kesalahan koneksi umum, nama pesan menunjukkan jenis kegagalan dan menyimpan kode dalam tanda kurung:

Unable to connect to API. Check your internet connection
Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)
Can't reach the API server — check your internet or DNS (ENOTFOUND)
No internet route — check your connection or VPN (EHOSTUNREACH)
Couldn't connect through your proxy (ERR_PROXY_TUNNEL) — the proxy refused the tunnel: check its credentials and that it allows this host
Connection dropped (ECONNRESET)
Request timed out. Check your internet connection and proxy settings

Kode yang Claude Code tidak kenali muncul sebagai Unable to connect to API diikuti oleh kode dalam tanda kurung. Beberapa pesan ini dapat menampilkan lebih dari satu kode: Connection refused dapat menampilkan ConnectionRefused atau ECONNREFUSED, misalnya, dan Can't reach the API server dapat menampilkan ENOTFOUND atau FailedToOpenSocket.

Sebelum v2.1.227, setiap pesan berkode ini berbunyi Unable to connect to API diikuti oleh kode, misalnya Unable to connect to API (ECONNREFUSED).

Penyebab umum termasuk tidak ada akses internet, VPN yang memblokir api.anthropic.com, atau proxy perusahaan yang diperlukan yang tidak dikonfigurasi.

Yang harus dilakukan:

  • Konfirmasi Anda dapat menjangkau host API dari shell yang sama dengan menjalankan curl -I https://api.anthropic.com. Di Windows PowerShell gunakan curl.exe -I https://api.anthropic.com sehingga alias Invoke-WebRequest bawaan tidak digunakan.
  • Jika Anda berada di belakang proxy perusahaan, atur HTTPS_PROXY sebelum meluncurkan Claude Code dan lihat Konfigurasi jaringan
  • Jika Anda merutekan melalui gateway LLM atau relay, atur ANTHROPIC_BASE_URL ke alamatnya. Lihat Hubungkan Claude Code ke gateway LLM untuk pengaturan.
  • Jika ANTHROPIC_BASE_URL sudah menunjuk ke gateway Anda dan setiap permintaan berakhir dengan Connection dropped, periksa apakah gateway Anda dan upstream-nya menerima field tool search. Secara default, Claude Code mengirim field tool defer_loading dan blok tool_reference, beserta header anthropic-beta yang mengaktifkannya. Sebelum v2.1.304, tool search dinonaktifkan di belakang gateway kecuali Anda mengaktifkannya dengan ENABLE_TOOL_SEARCH.
  • Pastikan firewall Anda memungkinkan host yang tercantum dalam Persyaratan akses jaringan
  • Kegagalan intermiten dicoba ulang secara otomatis

Jika curl berhasil tetapi Claude Code masih gagal, penyebabnya biasanya sesuatu antara runtime dan jaringan daripada jaringan itu sendiri:

  • Periksa apakah ANTHROPIC_BASE_URL diatur dengan menjalankan echo $ANTHROPIC_BASE_URL, atau echo $env:ANTHROPIC_BASE_URL di PowerShell, dan cari di blok env dari file pengaturan Anda. Ketika diatur, Claude Code mengirim permintaan model ke alamat itu daripada api.anthropic.com, jadi nilai sisa yang menunjuk ke proxy lokal atau gateway yang tidak lagi berjalan menghasilkan Connection refused meskipun curl menjangkau API. Hapus dari profil shell atau pengaturan Anda dan mulai Claude Code dari terminal baru.
  • Di Linux dan WSL, periksa /etc/resolv.conf untuk nameserver yang tidak dapat dijangkau. WSL khususnya dapat mewarisi resolver yang rusak dari host.
  • Di macOS, klien VPN yang terputus atau dihapus dapat meninggalkan antarmuka terowongan atau aturan perutean. Periksa ifconfig untuk antarmuka utun yang basi dan hapus ekstensi jaringan VPN di Pengaturan Sistem.
  • Docker Desktop dan runtime kontainer serupa dapat mencegat lalu lintas keluar. Keluar dari mereka dan coba lagi untuk mengesampingkan ini.

Unable to connect to Anthropic services

Selama pengaturan pertama kali, Claude Code memeriksa bahwa dapat menjangkau api.anthropic.com dan platform.claude.com sebelum menampilkan langkah masuk. Ketika salah satu pemeriksaan gagal, Claude Code mencetak alasannya dan keluar.

Unable to connect to Anthropic services
Failed to connect to api.anthropic.com: ECONNREFUSED
Connection to api.anthropic.com timed out after 10 seconds
A proxy is configured via HTTPS_PROXY. Check that it allows connections to the host above.

Claude Code mengirim pemeriksaan melalui konfigurasi proxy yang sama dengan permintaan API dan memberikan setiap probe 10 detik. Ketika probe yang gagal melewati proxy, pesan menamai environment variable yang mengonfigurasinya, seperti HTTPS_PROXY. Sebelum v2.1.222, pemeriksaan menggunakan transport proxy yang berbeda tanpa timeout: di belakang URL proxy dengan skema https://, dapat macet pada Checking connectivity... tanpa batas dan kemudian gagal meskipun permintaan API melalui proxy yang sama berhasil.

Claude Code melewati pemeriksaan ini ketika file pengaturan terkelola, kebijakan MDM, atau pembantu kebijakan menetapkan forceLoginMethod ke "gateway", atau menetapkan forceLoginGatewayUrl tanpa forceLoginMethod. Dengan salah satu konfigurasi, Claude Code membuka langkah masuk di layar Cloud gateway daripada metode masuk Anthropic. Claude Code juga melewati pemeriksaan ketika sumber pengaturan terkelola di mesin ada tetapi tidak dapat dibaca, karena sumber itu mungkin menyimpan konfigurasi gateway. Sebelum v2.1.247, Claude Code menjalankan pemeriksaan di bawah konfigurasi ini juga, dan keluar dengan kesalahan ini ketika endpoint Anthropic tidak dapat dijangkau.

Claude Code juga melewati pemeriksaan di mesin tanpa pengaturan terkelola ketika ~/.claude/settings.json milik Anda sendiri menamai gateway dengan forceLoginMethod dan forceLoginGatewayUrl. Sebelum v2.1.295, Claude Code menjalankan pemeriksaan dalam kasus tersebut.

Yang harus dilakukan:

  • Jika pesan menamai variabel proxy, periksa bahwa nilainya menunjuk ke proxy yang tepat dan minta tim jaringan Anda untuk memungkinkan koneksi HTTPS melaluinya ke host dalam pesan. Lihat Konfigurasi jaringan.
  • Kerjakan pemeriksaan dalam Unable to connect to API. Tes curl dan panduan firewall di sana berlaku untuk pemeriksaan ini juga.
  • Jika jaringan Anda terbuka dan kegagalan berlanjut, Claude Code mungkin tidak tersedia di negara Anda

Socket is closed

Socket is closed berarti koneksi yang membawa respons streaming ditutup sementara respons masih tiba. Penyebab paling umum adalah proxy perusahaan di Windows yang menjatuhkan terowongan yang sudah terbentuk di tengah respons.

Tergantung seberapa jauh respons telah berkembang, Claude Code mencoba ulang permintaan, menyimpan apa yang Claude hasilkan, atau mengakhiri giliran. Lihat Retry otomatis.

Sebelum v2.1.214, Claude Code tidak mencoba ulang kegagalan ini, dan giliran berhenti dengan kesalahan yang berisi Socket is closed.

Yang harus dilakukan:

  • Jika Anda melihat kesalahan ini, perbarui ke v2.1.214 atau lebih baru dengan claude update, kemudian kirim pesan Anda lagi
  • Jika giliran terus gagal di belakang proxy yang sama setelah memperbarui, kerjakan Unable to connect to API dan periksa pengaturan proxy dalam Konfigurasi jaringan

API returned an empty or malformed response

Claude Code menampilkan kesalahan ini ketika retry non-streaming dari permintaan streaming yang gagal mendapatkan status kesuksesan HTTP tetapi isi bukan pesan API Claude: biasanya halaman kesalahan HTML atau masuk, isi kosong, atau JSON dalam format lain. Proxy, gateway, atau halaman masuk jaringan yang menjawab di tempat API adalah sumber biasa. Claude Code tidak mencoba ulang permintaan, dan giliran berakhir dengan kesalahan ini.

API returned an empty or malformed response (HTTP 200) — check for a proxy or gateway intercepting the request.

Setelah pembukaan itu, pesan melaporkan apa yang kembali dan permintaan mana yang gagal:

  • Klausa Response: dengan tipe konten, jenis isi, seperti body is an HTML page atau empty body, ukurannya dalam byte, dan apakah respons membawa id permintaan Anthropic. Ketika respons menamai server yang dapat dikenali, seperti nginx atau cloudflare, atau membawa header perantara, seperti cf-ray atau via, klausa mencantumkan yang itu juga.
  • Kalimat yang menamai id permintaan streaming yang gagal dan kegagalan yang memicu retry. Ketika stream telah dibuka sebelum kegagalan, ia juga melaporkan berapa banyak peristiwa stream yang tiba dan, jika ada, berapa lama stream telah diam ketika upaya gagal.

Sebelum v2.1.234, pesan berakhir setelah intercepting the request.

Sebelum v2.1.271, balasan yang membawa pesan API yang valid di bawah tipe konten non-JSON seperti text/plain juga mengakhiri giliran dengan kesalahan ini. Beberapa gateway LLM menggunakan tipe konten itu untuk balasan non-streaming.

Yang harus dilakukan:

  • Baca klausa Response: untuk melihat sistem mana yang menjawab. Isi HTML, tidak ada id permintaan Anthropic, atau server bernama seperti nginx atau cloudflare berarti sesuatu antara Claude Code dan API menjawab di tempatnya
  • Jika Anda merutekan melalui gateway LLM, uji rute dengan permintaan langsung dan perbaiki hop yang mengembalikan respons non-API
  • Di jaringan dengan halaman masuk, seperti Wi-Fi tamu, selesaikan masuk di browser, kemudian coba lagi
  • Jika hanya rute non-streaming melalui gateway Anda yang rusak, atur CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=1 untuk mematikan fallback ini, kecuali ketika endpoint streaming itu sendiri mengembalikan 404, di mana Claude Code tetap menggunakan fallback

Streaming response ended before any complete data was received

Respons streaming dari penyedia model Anda selesai tanpa memberikan data yang dapat digunakan, jadi Claude Code mengirim ulang permintaan tanpa streaming untuk menyelesaikan giliran. Claude Code menampilkan peringatan sekali per sesi, hanya dalam sesi interaktif. Sebelum v2.1.239, Claude Code diam-diam mencoba ulang tanpa streaming.

Streaming response ended before any complete data was received. Retrying without streaming. If this keeps happening, check any proxy or gateway between Claude Code and your model provider.

Claude Code mengirim setiap permintaan yang terpengaruh dua kali: upaya streaming kosong dan retry. Penyebab biasa adalah proxy atau gateway yang mengonsumsi atau mengubah isi respons streaming dalam perjalanannya kembali.

Yang harus dilakukan:

Bedrock streaming response has an unexpected content-type

Gateway atau proxy antara Claude Code dan Amazon Bedrock mengubah isi respons streaming atau header Content-Type nya. Amazon Bedrock melakukan streaming respons sebagai application/vnd.amazon.eventstream. Daripada mendekode isi yang tidak dapat dibaca, Claude Code menolak respons streaming yang berhasil yang melaporkan tipe konten yang berbeda. Claude Code tidak mencoba ulang permintaan.

Bedrock streaming response has content-type "text/event-stream"; expected "application/vnd.amazon.eventstream". A gateway or proxy between Claude Code and Bedrock is likely transforming the response body — Bedrock's binary event-stream format must be passed through unmodified. Set CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1 to suppress this check while the gateway is being fixed.

Sebelum v2.1.208, kesalahan konfigurasi yang sama muncul sebagai API Error: Truncated event message received setelah seluruh respons telah di-buffer.

Yang harus dilakukan:

  • Konfigurasikan gateway untuk melewatkan isi respons InvokeModelWithResponseStream dan header Content-Type nya tanpa dimodifikasi. Perantara yang memancarkan ulang stream sebagai peristiwa yang dikirim server adalah penyebab umum.
  • Menetapkan CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1 menyembunyikan kesalahan ini, tetapi Claude Code tidak mendekode isi biner di bawah header yang ditulis ulang, jadi permintaan itu beralih ke jalur non-streaming yang lebih lambat. Lihat Kesalahan streaming di belakang gateway atau proxy.

SSL certificate errors

Proxy atau perangkat keamanan di jaringan Anda mencegat lalu lintas TLS dengan sertifikat mereka sendiri, dan Claude Code tidak mempercayainya.

Unable to connect to API: SSL certificate verification failed (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). The certificate comes from an authority Claude Code doesn't trust, usually a TLS-inspecting corporate proxy or a gateway signed by a private CA: set NODE_EXTRA_CA_CERTS to that CA bundle, or add it to the system certificate store · see https://code.claude.com/docs/en/network-config
Unable to connect to API: Self-signed certificate detected (SELF_SIGNED_CERT_IN_CHAIN). The certificate comes from an authority Claude Code doesn't trust, usually a TLS-inspecting corporate proxy or a gateway signed by a private CA: set NODE_EXTRA_CA_CERTS to that CA bundle, or add it to the system certificate store · see https://code.claude.com/docs/en/network-config

Sebelum v2.1.273, kedua pesan berakhir di Check your proxy or corporate SSL certificates, tanpa kode OpenSSL atau petunjuk NODE_EXTRA_CA_CERTS.

Mulai dari v2.1.199, kegagalan validasi sertifikat tidak dicoba ulang, jadi kesalahan ini muncul pada upaya pertama daripada setelah anggaran retry penuh. Versi sebelumnya menghabiskan beberapa menit mencoba ulang sebelum menampilkannya. Kondisi TLS sementara, seperti timeout handshake, masih dicoba ulang.

Selama /login dan pemeriksaan konektivitas startup, kegagalan yang sama menghasilkan pesan yang berbeda:

SSL certificate error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run `claude doctor` for details.

Di Amazon Bedrock, permintaan yang Claude Code sendiri kirim ke AWS, seperti panggilan kredensial peran STS dan SSO, penemuan model, dan pemeriksaan wizard pengaturan, bergantung pada konfigurasi sertifikat yang sama. Lihat Kesalahan sertifikat di belakang proxy yang memeriksa TLS.

Yang harus dilakukan:

  • Ekspor bundel CA organisasi Anda dan arahkan Claude Code ke sana dengan NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem
  • Lihat Konfigurasi jaringan untuk instruksi pengaturan lengkap
  • Jangan atur NODE_TLS_REJECT_UNAUTHORIZED=0, yang menonaktifkan validasi sertifikat sepenuhnya

Host not allowed in a cloud session

Permintaan HTTP keluar dari sesi cloud atau tugas terjadwal cloud diblokir oleh kebijakan jaringan lingkungan.

HTTP 403
x-deny-reason: host_not_allowed

Anda juga dapat melihat sertifikat TLS yang tidak cocok dengan sertifikat asli tujuan. Sesi cloud merutekan lalu lintas keluar melalui proxy yang memberlakukan kebijakan jaringan, jadi sertifikat yang tidak cocok berarti proxy mengakhiri koneksi, bukan tujuan.

Kesalahan ini bukan masalah jaringan sisi klien. Sesi cloud dan tugas terjadwal cloud berjalan di dalam VM yang di-sandbox yang lalu lintas keluarnya melalui jaringan sesi disaring ke allowlist lingkungan cloud:

  • Lalu lintas GitHub dan konektor: operasi GitHub dan lalu lintas konektor MCP menggunakan saluran terpisah, itulah mengapa mereka dapat terus bekerja sementara host lain diblokir
  • Lingkungan default: lingkungan Default menggunakan akses Trusted, yang memungkinkan allowlist default dari registri paket, API penyedia cloud, registri kontainer, dan domain pengembangan umum dan memblokir domain lain di jalur itu

Yang harus dilakukan:

Langkah-langkah ini mengubah salah satu lingkungan Anda sendiri. Lingkungan bersama organisasi terbuka read-only di pemilih, jadi minta Owner untuk mengubah akses jaringannya dari halaman Cloud environments dalam pengaturan admin.

  • Buka lingkungan Anda untuk pengeditan, baik dari formulir tugas terjadwal cloud atau dari pemilih lingkungan tempat Anda memulai sesi cloud.
  • Dalam dialog Edit cloud environment, ubah Network access dari Trusted ke Custom, kemudian tambahkan domain yang diblokir ke Allowed domains. Masukkan satu domain per baris. Centang Also include default list of common package managers untuk menyimpan allowlist default bersama domain kustom Anda. Pilih Full sebagai gantinya jika Anda menginginkan akses tanpa batas.
  • Klik Save changes. Jalankan berikutnya menggunakan allowlist yang diperbarui. Untuk sesi cloud yang sudah terbuka, lihat kapan perubahan akses jaringan mencapai sesi yang ada.

Lihat Akses jaringan untuk tingkat akses dan allowlist default. Sesi CLI lokal tidak terpengaruh oleh kebijakan ini.

The proxy refused the connection

Anda melihat pesan ini ketika Claude membaca artifact melalui proxy yang Anda atur dalam HTTPS_PROXY atau variabel proxy terkait. Konten artifact berasal dari *.frame.claudeusercontent.com, jadi Claude Code terlebih dahulu mengirim proxy permintaan CONNECT yang memintanya membuka terowongan ke host itu. Ketika proxy menolak, tidak ada yang mencapai host, dan pesan membawa status HTTP proxy:

artifact content fetch failed (proxy refused the connection: HTTP 407)
artifact content fetch failed (proxy refused the connection: HTTP 403)
the proxy refused the connection to the artifact's content host (HTTP 502)

Status adalah jawaban proxy terhadap CONNECT. Host tidak pernah menjawab, jadi setiap status menunjuk ke perbaikan yang berbeda:

  • HTTP 407: proxy memerlukan kredensial yang tidak didapatkan. Masukkan mereka dalam URL proxy, seperti yang ditunjukkan Autentikasi Dasar.
  • HTTP 403: proxy menolak untuk membuat terowongan ke *.frame.claudeusercontent.com. Minta siapa pun yang menjalankan proxy untuk memungkinkan host itu, yang Persyaratan akses jaringan cantumkan.
  • Status apa pun yang lain, seperti HTTP 502: proxy tidak membuka terowongan karena alasannya sendiri, seperti gagal menjangkau host. Cari status dalam log proxy.
  • unreadable reply sebagai pengganti status: apa pun yang ada di alamat proxy tidak menjawab dengan baris status HTTP. Periksa bahwa alamatnya adalah proxy HTTP.

Yang harus dilakukan:

  • Periksa alamat dan kredensial dalam variabel proxy, seperti yang dijelaskan Konfigurasi Proxy, kemudian jalankan curl -x http://proxy.example.com:8080 -I https://api.anthropic.com dari shell tempat Anda memulai Claude Code, menggunakan URL proxy Anda sendiri. Di Windows PowerShell, jalankan curl.exe. Jika probe ini gagal dengan cara yang sama, perbaiki pengaturan proxy terlebih dahulu. Jika berhasil, penolakan khusus untuk host artifact.
  • Jika jaringan Anda membiarkan Claude Code menjangkau host artifact secara langsung, tambahkan .frame.claudeusercontent.com ke NO_PROXY. Simpan entri itu sempit: entri .claudeusercontent.com yang lebih luas juga melewati proxy untuk bridge.claudeusercontent.com, yang organisasi dengan IP allowlisting perlu tetap lewatkan melalui proxy.

Sebelum v2.1.238, Claude Code melaporkan terowongan yang ditolak sebagai kesalahan jaringan generik.

The cloud environments service returned an empty or unexpected response

Claude Code meminta daftar cloud environments Anda di beberapa titik, seperti ketika Anda membuat sesi cloud dari CLI atau menjalankan /remote-env. Ketika tidak dapat membaca jawaban server, menampilkan salah satu pesan ini:

The cloud environments service returned an empty response (HTTP 200 with no body). This is usually temporary — try again in a moment.
The cloud environments service returned a response in an unexpected format (HTTP 200 with a non-JSON body). This is usually temporary — try again in a moment.
The cloud environments service returned a response in an unexpected format (HTTP 200 without a usable environments list). This is usually temporary — try again in a moment.

Server menerima permintaan tetapi menjawab dengan isi yang bukan daftar lingkungan: kosong, bukan JSON, atau JSON tanpa daftar. Ini biasanya menyertai gangguan sisi layanan dan hilang dengan sendirinya. Tergantung pada surface yang meminta daftar, Claude Code dapat menambahkan awalan, seperti couldn't list environments: dalam dialog /remote-env.

Yang harus dilakukan:

  • Coba lagi tindakan. Claude Code meminta daftar lagi setiap kali
  • Jika pesan terus muncul, periksa status.claude.com untuk insiden aktif

Sebelum v2.1.236, Claude Code menampilkan TypeError JavaScript mentah daripada pesan-pesan ini.

Failed to fetch session from Sessions API

Pesan ini berarti Claude Code menemukan sesi cloud yang Anda minta untuk ditarik ke terminal Anda tetapi tidak dapat membaca riwayat percakapannya dari server Anthropic, sehingga tidak membukanya:

Failed to fetch session from Sessions API: Failed to fetch session logs

Anda melihatnya setelah claude --teleport, /teleport, atau memilih sesi dalam daftar /tasks. claude --teleport <session-id> mencetaknya dan keluar dengan kode 1.

Yang harus dilakukan:

Sebelum v2.1.296, Claude Code tidak mencoba ulang pembacaan yang gagal, dan setelah satu kegagalan, Claude Code dapat membuka sesi dengan percakapan kosong dan melaporkan keberhasilan alih-alih mencetak pesan ini.

Couldn't reconnect to your Remote Control session

Couldn't reconnect to your Remote Control session. Retry, or start a fresh session without --resume.

Melanjutkan dengan claude --resume atau claude --continue menghubungkan kembali ke sesi Remote Control yang dicatat dalam percakapan itu. Pesan ini berarti koneksi kembali gagal karena alasan yang mungkin sementara, seperti gangguan jaringan atau kesalahan server, jadi Claude Code tidak dapat mengonfirmasi apakah sesi jarak jauh masih ada. Sesi lokal Anda terus berjalan tanpa Remote Control.

Yang harus dilakukan:

  • Jalankan /remote-control untuk mencoba lagi koneksi
  • Mulai sesi baru dengan claude --remote-control untuk membuat sesi Remote Control baru
  • Untuk pesan startup Remote Control lainnya, lihat Troubleshoot Remote Control

Jika server melaporkan sebaliknya bahwa sesi sebelumnya hilang, Anda tidak melihat pesan ini. Claude Code memulai sesi baru di tempatnya atau menampilkan Previous session is unavailable — run /remote-control to start a new one.

Sessions ended while this machine was offline

Claude Code menampilkan pesan ini di terminal yang menjalankan claude remote-control setelah mesin Anda offline cukup lama sehingga server membersihkan lingkungan Remote Control yang mesin Anda layani. Sesi di lingkungan itu berakhir, dan Anda tidak dapat melanjutkannya. Hitungannya adalah jumlah sesi yang berakhir.

2 sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.

Yang harus dilakukan:

  • Ketika Claude Code mencantumkan worktree yang disimpan di bawah pesan ini, ambil pekerjaan yang tidak dikomit dari mereka
  • Jalankan claude remote-control untuk memulai lingkungan segar

Couldn't share the transcript

Setelah Anda setuju untuk berbagi transkrip sesi Anda dari prompt survei, seperti survei kualitas sesi, Claude Code mengunggahnya ke Anthropic, atau menyimpan arsip lokal sebagai gantinya di penyedia pihak ketiga, di sesi Claude apps gateway, dan ketika tidak ada kredensial Anthropic yang tersedia. Pesan ini berarti berbagi tidak selesai.

Couldn't share the transcript.

Unggahan harus sesuai dengan batas 8 MiB. Dalam sesi yang panjang, Claude Code secara progresif menjatuhkan bagian dari berbagi, pengaturan model permintaan terakhir terlebih dahulu, kemudian percakapan terstruktur dan transkrip subagent, dan menampilkan pesan ini ketika tidak ada versi yang dikurangi yang dapat dikirim atau kesalahan jaringan atau server menghentikan unggahan. Ketika Claude Code menyimpan arsip lokal sebagai gantinya, pesan berarti tidak dapat menulis arsip.

Yang harus dilakukan:

  • Jalankan /feedback untuk mengirim transkrip dengan deskripsi apa yang terjadi. Lihat Report an error jika /feedback tidak tersedia di lingkungan Anda
  • Jika permintaan lain juga gagal, periksa koneksi jaringan Anda dan lihat Unable to connect to API

Couldn't send feedback

Pesan yang diawali Couldn't send feedback berarti layanan umpan balik tidak mengonfirmasi laporan yang Anda kirimkan dari dialog /feedback, /bug, atau /share, atau draf umpan balik yang berada dalam antrean. Anggap laporan tersebut tidak diterima. Ketika kalimat tentang organisasi Anda muncul setelah titik dua, organisasi Anda menolak umpan balik.

Contoh kedua adalah penolakan organisasi:

Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.

Couldn't send feedback: Feedback has not been enabled for your organization. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.

Yang harus dilakukan:

  • Belum masuk: pesan berlanjut dengan : not signed in. Run /login, then retry. Jalankan /login, lalu kirim lagi
  • Penolakan organisasi Anda: misalnya : Feedback has not been enabled for your organization. atau : Feedback collection is not available for organizations with custom data retention policies. Jika pesan menambahkan To report a bug, open an issue, lakukan di github.com/anthropics/claude-code/issues. Setelah itu, /feedback dapat menjawab bahwa fitur tersebut dinonaktifkan oleh kebijakan organisasi Anda selama tujuh hari. Draf dalam antrean tetap berada dalam antrean dan tetap kedaluwarsa sesuai jadwal
  • Kredensial ditolak: pesan berlanjut dengan : the sign-in this session uses is not allowed to send feedback atau : the server did not accept the credentials this session uses. Jalankan /status di prompt Claude Code untuk melihat login, token, atau kunci API mana yang dikirim sesi ini
  • (request timed out) atau (couldn't reach the service) langsung setelah Couldn't send feedback: kirim laporan atau draf dalam antrean lagi. Dialog menyimpan teks Anda, dan pesan untuk draf dalam antrean menyatakan The draft is still queued. Jika permintaan lain juga gagal, periksa koneksi jaringan Anda dan lihat Unable to connect to API. Jika terus gagal, ajukan laporan di github.com/anthropics/claude-code/issues
  • (server returned <status>), atau tanpa alasan, langsung setelah Couldn't send feedback: status adalah kode respons layanan. Pesan layanan itu sendiri mengikutinya ketika layanan mengirimkannya, seperti dalam (server returned 403: Access Forbidden). Jika terus gagal, ajukan laporan di github.com/anthropics/claude-code/issues

Issue di github.com/anthropics/claude-code bersifat publik, jadi jangan sertakan kode, transkrip, dan apa pun yang bersifat rahasia saat Anda membukanya.

Sebelum v2.1.281, setiap pengiriman gagal dengan pesan ini sekali Remote Control Stop atau pesan lintas-sesi mendesak telah tiba saat dialog terbuka. Di versi tersebut, tutup dialog, buka kembali, dan kirim lagi.

Feedback payload too large

Pesan ini di layar tinjauan untuk draf umpan balik berarti Claude Code tidak memiliki konfirmasi bahwa layanan menerima draf tersebut. Anggap draf tersebut tidak diterima. Draf tetap berada dalam antrean /feedback Anda, sehingga Anda dapat mengirimnya lagi.

Feedback payload too large. Try again without the transcript, or shorten the details.

Yang harus dilakukan:

  • Di layar tinjauan, atur Send transcript ke no, lalu kirim draf lagi. Memperpendek detail menghapus paling banyak 10 KB teks, yang merupakan seluruh kapasitas detail sebuah draf.

MCP server connection timed out during a sleep or clock change

Pesan ini berarti koneksi ke server MCP mengalami timeout, dan Claude Code mendapati bahwa jam sistem Anda melompat maju selama upaya tersebut:

MCP server "<name>" connection timed out. Your computer went to sleep or its clock changed while connecting.

Claude Code tidak dapat membedakan apakah komputer Anda tertidur (sleep) atau jamnya dimajukan, sehingga pesan menyebutkan keduanya.

Yang harus dilakukan:

Hubungkan ke server lagi, dan jaga komputer Anda tetap aktif hingga upaya selesai. Jika server berhasil terhubung, tidak ada yang perlu Anda perbaiki.

Sebelum v2.1.307, Claude Code menampilkan pesan timeout seperti MCP server "<name>" connection timed out after <N>ms alih-alih pesan ini.

Kesalahan permintaan

Kesalahan-kesalahan ini berkaitan dengan isi permintaan Anda. Sebagian besar dikembalikan oleh API setelah API menolak permintaan tersebut; beberapa dihasilkan secara lokal oleh Claude Code sebelum permintaan apa pun dikirim.

Prompt is too long

Percakapan beserta file terlampir melebihi context window model.

Prompt is too long

Dalam sesi interaktif, Claude Code menampilkan kesalahan ini sebagai:

Context limit reached · /compact or /clear to continue

Baris tersebut hanya menyebut /clear ketika DISABLE_COMPACT diatur. Bentuk kesalahan yang lebih panjang, seperti bentuk compaction gagal di bawah ini, tetap menggunakan kata-kata Prompt is too long ·. Dalam output -p dan transkrip, teksnya tetap Prompt is too long.

Ketika Anda mematikan auto-compact di pengaturan pengguna Anda, baris tersebut juga menyebutkannya:

Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on

Toggle Auto-compact di /config menulis autoCompactEnabled ke pengaturan pengguna. Petunjuk ini hanya muncul ketika perubahan di /config akan berlaku. Misalnya, petunjuk ini tidak muncul ketika DISABLE_AUTO_COMPACT atau DISABLE_COMPACT mematikan auto-compact. Petunjuk ini juga tidak muncul ketika cakupan dengan prioritas lebih tinggi, seperti pengaturan proyek atau pengaturan terkelola, mengatur autoCompactEnabled ke false. Sebelum v2.1.235, baris tersebut tidak memuat petunjuk auto-compact.

Amazon Bedrock melaporkan kondisi ini sebagai Input is too long for requested model., yang ditangani Claude Code dengan cara yang sama. Sebelum v2.1.217, Claude Code tidak mengenali kata-kata Bedrock tersebut, sehingga auto-compact tidak pernah terpicu olehnya dan /compact gagal dengan kesalahan yang sama.

Claude apps gateway melaporkan kondisi ini sebagai capability_rejected: prompt_too_long ketika upstream cloud menolak permintaan dalam bentuk kesalahan milik penyedia itu sendiri. Claude Code memperlakukan token tersebut sama dengan Prompt is too long. Sebelum v2.1.228, Claude Code tidak mengenali token tersebut, sehingga auto-compact tidak terpicu olehnya.

Ketika compaction otomatis berjalan pada giliran ini dan gagal karena kesalahan yang mendasarinya, seperti model yang tidak tersedia atau kegagalan autentikasi, pesan tersebut menyebutkan kesalahan itu setelah pemisah:

Prompt is too long · automatic compaction failed: <the underlying error>

Selesaikan kesalahan yang disebutkan terlebih dahulu; /compact akan gagal dengan kesalahan yang sama sampai Anda melakukannya. Sebelum v2.1.229, compaction otomatis yang gagal menampilkan Prompt is too long tanpa penyebabnya.

Ketika compaction otomatis berjalan karena kesalahan ini, biasanya compaction merangkum pertukaran terlama Anda dan mempertahankan yang terbaru. Sebagai upaya terakhir, Claude Code merangkum dengan cara berbeda:

  • Ketika tidak dapat merangkum satu pun pertukaran secara utuh, Claude Code mempertahankan prompt terbaru Anda kata demi kata dan merangkum semua yang ada sebelumnya.
  • Dalam kasus tersebut, ketika percakapan tidak diakhiri dengan prompt Anda, Claude Code merangkum seluruh percakapan sebagai gantinya.

Claude Code melewati pemulihan ini ketika konten yang akan dibawanya tidak memuat balasan model dan memuat kurang dari sekitar 1.000 token teks Anda sendiri, seperti retry singkat yang dikirim setelah tempelan berukuran terlalu besar. Jalankan /clear untuk memulai dari awal. Sebelum v2.1.269, compaction gagal setiap kali tidak dapat merangkum satu pertukaran secara utuh, sehingga sesi dalam keadaan tersebut mengalami kesalahan ini lagi di setiap giliran.

Percakapan dengan satu pertukaran tidak memiliki giliran sebelumnya untuk dirangkum. Ketika compaction otomatis seharusnya berjalan pada percakapan seperti itu, Claude Code melewati upaya tersebut dan menjelaskan apa yang mengisi permintaan. Ketika API tidak melaporkan jumlah token dalam kesalahannya, pesannya berbunyi:

Prompt is too long · this conversation is a single exchange and cannot be compacted — the request size comes mostly from system prompt, tool definitions, or attachments.

Ketika API melaporkan jumlah token dalam kesalahannya, Claude Code membandingkannya dengan perkiraannya sendiri tentang ukuran percakapan untuk menentukan mana yang merupakan sebagian besar permintaan: konten percakapan itu sendiri, atau system prompt, definisi tool, dan konten lampiran yang dikirim Claude Code bersamanya. Ketika konten percakapan itu sendiri merupakan sebagian besar permintaan, pesannya berbunyi:

Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) and this conversation's own content is most of it. A single-exchange conversation cannot be compacted; start with less content (smaller files or pasted text).

Ketika sebagian besar permintaan berada di luar percakapan, pesannya berbunyi:

Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) but this conversation is only ~<conversation tokens> tokens — the rest is system prompt, tool definitions, and attachment content. A single-exchange conversation cannot be compacted; reduce attached files/tools or start with less context.

Sebelum v2.1.162, Claude Code tetap mencoba compaction dan menampilkan Prompt is too long saja ketika gagal.

Yang harus dilakukan:

  • Jalankan /compact untuk merangkum giliran sebelumnya dan mengosongkan ruang, atau /clear untuk memulai dari awal. Jika /compact menjawab Not enough messages to compact., percakapan tersebut adalah satu pertukaran tanpa apa pun sebelumnya untuk dirangkum, sehingga ruangnya terisi oleh satu prompt itu dan apa yang dikirim Claude Code bersama setiap permintaan: jalankan /clear dan kirim ulang dengan lebih sedikit teks yang ditempel atau lampiran yang lebih kecil, atau kurangi definisi tool dan file memori menggunakan langkah-langkah di bawah ini
  • Jalankan /context untuk melihat rincian apa yang menghabiskan window: system prompt, tool, file memori, dan pesan
  • Nonaktifkan server MCP yang tidak Anda gunakan dengan /mcp disable <name> untuk menghapus definisi tool-nya dari konteks
  • Pangkas file memori CLAUDE.md yang besar, atau pindahkan instruksi ke aturan berbatas path yang hanya dimuat saat relevan
  • Auto-compact aktif secara default dan biasanya mencegah kesalahan ini. Jika Anda mematikannya di /config atau dengan DISABLE_AUTO_COMPACT, aktifkan kembali. Jika Anda tetap mematikannya, jalankan /compact sendiri sebelum window penuh.
  • Jika kesalahan muncul di sekitar 200K token pada model yang menerima lebih banyak, salah satu penyebabnya adalah ID model yang tidak dikenali Claude Code. Claude Code mengasumsikan window 200K untuk ID seperti itu, jadi untuk terus bekerja melewati titik tersebut, berikan context window model yang sebenarnya.
    • Jika Anda menggunakan ANTHROPIC_BASE_URL kustom dan kesalahan diawali dengan Prompt is too long · automatic compaction failed, atur context window model atau perbarui ke v2.1.299 atau yang lebih baru. Sebelum v2.1.299, Claude Code mengakhiri giliran dengan pesan tersebut di sekitar window 200K yang diasumsikan alih-alih mengirim permintaan.
  • Jika kesalahan muncul tepat setelah Anda menghentikan Claude saat sedang melakukan compaction pada percakapan, percakapan Anda tidak berubah dan masih cukup besar sehingga perlu compaction. Jalankan /compact dan kirim pesan Anda lagi. Agar kesalahan tidak terulang, perbarui Claude Code ke v2.1.304 atau yang lebih baru. Sebelum v2.1.304, menghentikan pada saat tersebut dapat mengakhiri giliran dengan kesalahan ini.
  • Pada v2.1.305, dengan banyak tool MCP dan koneksi langsung ke Anthropic API, kesalahan ini dapat menyembunyikan kesalahan 400 atau 422 yang tidak terkait dari API. Perbarui Claude Code ke v2.1.306 atau yang lebih baru untuk melihat kesalahan aslinya.

Lihat Jelajahi context window untuk tampilan interaktif tentang bagaimana konteks terisi.

Context exceeds the token limit

/context menampilkan peringatan ini di bagian atas output-nya ketika percakapan telah tumbuh melewati context window model:

Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.

Setelah peringatan Context exceeds, Anda tidak perlu menjalankan kedua perintah tersebut selama auto-compact aktif, yang merupakan default:

  • Auto-compact aktif: kirim pesan Anda berikutnya. Jika masih gagal dengan Prompt is too long, lihat entri tersebut.
  • Auto-compact mati: di dalam sesi, jalankan /compact jika peringatan menyebutkannya, atau /clear untuk memulai ulang. Sampai Anda menjalankan salah satunya, pesan gagal dengan Context limit reached, atau Prompt is too long dalam output -p.

Ketika batas yang Anda lampaui adalah window compaction, seperti batas 200K pada model konteks 1M, peringatannya berbunyi berbeda. Window compaction dapat berada di bawah context window model, sehingga permintaan yang melewatinya masih dapat berhasil.

Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.

Kedua bentuk menyebut /clear alih-alih /compact ketika Anda telah mengatur DISABLE_COMPACT.

Yang harus dilakukan:

  • Setelah peringatan window compaction: dalam percakapan multi-giliran, jalankan /compact untuk merangkum giliran sebelumnya dan mengosongkan ruang. Untuk memulai dari awal, jalankan /clear.
  • Untuk cara lain mengurangi penggunaan, lihat Prompt is too long

Sebelum v2.1.216, /context menampilkan penggunaan di atas 100% tanpa baris peringatan yang menjelaskan artinya atau cara memulihkannya.

Request too large

Body permintaan mentah melampaui batas 32MB API sebelum tokenisasi, biasanya karena konten tempelan, hasil tool, atau lampiran yang besar. Batas ini terpisah dari context window.

Request too large (max 32MB). Accumulated images and attachments in the conversation pushed the request over the limit. Run /compact, or double press esc to go back and remove attachments.

Ketika permintaan langsung dikirim ke Claude API dan API itu sendiri menolaknya, Claude Code mengukur percakapan dan menyusun pesan berdasarkan apakah pemulihan dapat berhasil. Melalui proxy, gateway, atau penyedia cloud, Anda mendapatkan pesan umum. Bentuk-bentuk yang terukur:

  • Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).: gambar atau dokumen mendorong permintaan melewati batas. Claude Code mencoba ulang dengan menghapusnya.
  • Request too large for the API's 32MB request limit: pesan-pesannya saja sudah melampaui batas, sehingga pesan tersebut menyatakan compacting cannot make it fit dan Claude Code tidak mencoba ulang. Dalam mode non-interaktif, pesan tersebut meminta Anda mengurangi input atau memulai sesi baru.

Sebelum v2.1.212, percakapan dengan cukup banyak gambar yang terakumulasi gagal di setiap giliran dengan Request too large (max 32MB). Double press esc to go back and try with a smaller file. Sebelum v2.1.229, Claude Code menampilkan saran lampiran untuk setiap penolakan, bahkan ketika compaction tidak dapat membantu.

Yang harus dilakukan:

  • Jika pesan menyatakan compacting cannot make it fit, tekan Esc dua kali untuk mundur melewati giliran yang menambahkan konten besar tersebut, atau jalankan /clear untuk memulai dari awal
  • Jika tidak, jalankan /compact, yang membuang gambar dan lampiran yang terakumulasi
  • Rujuk file besar berdasarkan path alih-alih menempelkan isinya, sehingga Claude dapat membacanya per bagian
  • Untuk gambar, lihat Image was too large di bawah

Image was too large

Gambar yang ditempel atau dilampirkan melampaui batas ukuran atau dimensi API.

Image was too large. Double press esc to go back and try again with a smaller image.
API Error: 400 ... image dimensions exceed max allowed size
API Error: an image in the conversation could not be processed and was removed.
An image in the conversation exceeds the dimension limit for many-image requests (3000px). Run /compact to remove old images from context, or start a new session.

Baris could not be processed and was removed berarti API menolak sebuah gambar dalam percakapan, seperti gambar yang melampaui batas ukuran atau dimensi.

Jika salah satu kesalahan ini terus muncul kembali, perbarui Claude Code. Pada versi lama, kesalahan gambar dapat berulang karena alasan seperti berikut:

  • Sebelum v2.1.299, dalam percakapan panjang dengan banyak gambar, Claude Code dapat menghapus gambar yang terakhir Anda lampirkan alih-alih gambar yang melampaui batas. Baris was removed kemudian berulang di setiap giliran, dan Claude tidak melihat gambar baru Anda.
  • Sebelum v2.1.299, di VS Code, aplikasi Desktop, dan Agent SDK, gambar yang Anda lampirkan saat Claude sedang bekerja tidak mendapatkan pengubahan ukuran yang didapatkan gambar terlampir lainnya. Gambar tersebut mencapai API dalam ukuran aslinya, yang menyebabkan kesalahan gambar berulang dalam percakapan panjang.
  • Sebelum v2.1.166, gambar yang ditempel dapat tetap berada dalam percakapan, dan kesalahan yang sama kemudian berulang di setiap pesan berikutnya

Yang harus dilakukan:

  • Ubah ukuran gambar sebelum menempelkannya. API menerima gambar hingga 8000 piksel pada sisi terpanjang untuk satu gambar, atau 3000 piksel ketika lebih dari 20 gambar berada dalam konteks.
  • Ambil tangkapan layar yang lebih sempit dari area yang relevan alih-alih layar penuh
  • Untuk pesan dimension limit for many-image requests, jalankan /compact di prompt Claude Code jika pesan menyebutkannya, atau mulai sesi baru dengan lebih sedikit gambar

Pesan dimension limit for many-image requests menampilkan batas piksel yang disebutkan dalam kesalahan API.

Unable to resize image

Claude Code tidak dapat memperkecil gambar terlampir sebelum mengirimkannya ke API.

Unable to resize image — image processing is unavailable and dimensions could not be read from the file header. Please convert the image to PNG, JPEG, GIF, or WebP.
Unable to resize image — dimensions exceed the 2000x2000px limit and image processing failed. Please resize the image to reduce its pixel dimensions.
Unable to resize image (… raw, … base64). The image exceeds the … API limit and compression failed. Please resize the image manually or use a smaller image.
Unable to resize image — could not verify image dimensions are within the 2000x2000px API limit.
Unable to resize image — it is a CMYK JPEG, which Claude Code cannot decode, and at …px it is over the 2000x2000px limit, so it cannot be sent. Re-save it as an RGB PNG or JPEG and try again.
Unable to resize image — it is an animated WebP whose first frame Claude Code cannot decode, and at …px it is over the 2000x2000px limit, so it cannot be sent. Save its first frame as a PNG or JPEG and try again.
Unable to resize image — its pixels could not be decoded (the file may be damaged, or use an encoding Claude Code cannot read), and it is over the … API limit (… raw, … base64), so it cannot be sent. Re-save it as a PNG or JPEG and try again.

Claude Code biasanya mengubah ukuran gambar besar secara otomatis. Kesalahan-kesalahan ini berarti gambar tidak dapat didekode atau diubah ukurannya agar sesuai dengan batas API.

Yang harus dilakukan:

  • Jika pesan meminta Anda mengonversi gambar, konversikan ke PNG, JPEG, GIF, atau WebP lalu lampirkan lagi. Claude Code dapat memverifikasi dimensi untuk format-format ini dari header file, tanpa mendekode gambar.
  • Jika pesan melaporkan batas dimensi atau ukuran, ubah ukuran atau kompres ulang gambar di bawah batas tersebut sebelum melampirkannya.
  • Jika pesan menyebutkan penyebab, seperti CMYK JPEG, WebP animasi, atau file yang mungkin rusak, simpan ulang gambar dalam format yang disarankan pesan lalu lampirkan lagi.

Request rejected as unprocessable by the model

API menolak permintaan karena model tidak dapat memprosesnya. Pesan tersebut berasal dari API sendiri.

API Error: 400 Request rejected as unprocessable by the model (too many or oversized images, or unsupported parameters)

Claude Code dapat menghapus gambar dan dokumen terlama dari permintaan yang ditolak lalu mengirimkannya lagi. Sebelum v2.1.290, Claude Code tidak menghapus gambar pada penolakan ini, sehingga sesi panjang yang mengakumulasi ratusan gambar dapat gagal dengan kesalahan ini di setiap giliran.

Yang harus dilakukan:

  • Jika pesan terus muncul dalam percakapan dengan gambar atau dokumen, hapus sendiri gambar atau dokumen tersebut. Tekan Esc dua kali untuk mundur melewati giliran yang menambahkannya, atau jalankan /clear untuk memulai dari awal.

Kesalahan PDF

PDF yang Anda lampirkan tidak dapat diproses. Pesan-pesan di sini ditampilkan dalam bentuk non-interaktifnya; dalam sesi interaktif, pesan-pesan tersebut meminta Anda menekan esc dua kali dan mencoba lagi.

PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext).
PDF is password protected. Try using a CLI tool to extract or convert the PDF.
The PDF file was not valid. Try converting it to text first (e.g., pdftotext).

Yang harus dilakukan:

  • Untuk PDF yang terlalu besar, minta Claude membaca rentang halaman dengan tool Read alih-alih melampirkan seluruh file, atau ekstrak teks dengan alat seperti pdftotext dan rujuk file output berdasarkan path
  • Untuk PDF yang dilindungi atau tidak valid, hapus kata sandinya atau ekspor ulang file dari aplikasi sumbernya, lalu coba lagi

Ketika Claude membaca rentang halaman dari PDF dengan tool Read, pembacaan dapat gagal dengan pesan yang berbeda:

pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering.

Pembacaan rentang halaman merender halaman dengan pdftoppm. Instal poppler-utils dengan perintah yang diberikan pesan, atau pada platform lain, build poppler yang menempatkan pdftoppm di PATH Anda. Lihat Perilaku tool Read untuk mengetahui PDF mana yang dibaca berdasarkan rentang halaman.

Extra inputs are not permitted

Endpoint yang menerima permintaan menolak salah satu field permintaan sebagai input yang tidak diterimanya, dan pesan endpoint tersebut menyebutkan field itu.

API Error: 400 ... context_management: Extra inputs are not permitted

Claude Code mengirim field khusus beta seperti context_management dan defer_loading milik tool search bersama header anthropic-beta yang mengaktifkannya. Ketika gateway meneruskan body tetapi membuang header-nya, API melihat field yang tidak dikenalinya. Ketika gateway meneruskan body berformat Anthropic ke upstream dengan skema berbeda, upstream tersebut menolak field seperti itu. Pasangan header beta dan field body membahas kedua kasus tersebut.

Yang harus dilakukan:

  • Jika pesan berisi context_management: Extra inputs are not permitted, perbarui Claude Code ke v2.1.304 atau yang lebih baru. Setelah Anda memperbarui, Claude Code menanggapi penolakan ini dengan mengirim permintaan sekali lagi tanpa field tersebut. Sebelum v2.1.304, Claude Code tidak mencoba ulang penolakan ini.
  • Jika pesan menyebutkan defer_loading atau tool_reference, perbarui Claude Code ke v2.1.305 atau yang lebih baru. Claude Code kemudian menanggapi penolakan ini dengan mengirim permintaan sekali lagi tanpa field tool search.
  • Jika gateway Anda membuang header, konfigurasikan agar meneruskan header anthropic-beta. Lihat feature pass-through untuk mengetahui apa yang harus diteruskan gateway.
  • Sebagai fallback, atur CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 sebelum meluncurkan. Nonaktifkan kapabilitas pra-rilis membahas cakupan persisnya.

Sebelum v2.1.302, kesalahan ini juga dapat menyebutkan field diagnostics tanpa melibatkan gateway. Kesalahan ini muncul ketika sesi yang sudah menggunakan Anthropic API berpindah ke Amazon Bedrock atau Agent Platform dari Google Cloud tanpa restart. Misalnya, sesi yang Anda biarkan terbuka berpindah ke Bedrock ketika Anda menjalankan /setup-bedrock di jendela Claude Code lain. Pada versi-versi tersebut, jalankan /clear di sesi itu atau restart sesinya.

Tool input schema is invalid

Sebuah tool dalam permintaan mendeklarasikan input_schema yang gagal dalam validasi JSON Schema API, sehingga API menolak seluruh permintaan. Angka setelah tools. adalah posisi tool yang gagal dalam daftar tool permintaan, bukan nama yang dapat Anda cari.

API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid
API Error: 400 ... tools.N.custom.input_schema.properties: Property keys should match pattern '^[a-zA-Z0-9_.-]{1,64}$'

Bentuk pertama berarti skema tersebut bukan JSON Schema draft 2020-12 yang valid. Bentuk kedua berarti nama properti tingkat atas tidak cocok dengan pola yang dikutip pesan.

Claude Code mengecualikan tool MCP yang skema input-nya akan gagal dalam validasi ini saat memuat tool server, sehingga permintaan biasanya tidak pernah menyertakannya.

Pada deployment di mana pengambilan flag dimatikan, atau pada mesin yang flag-nya belum pernah diterima, Claude Code mencatat di log server tool mana yang akan ditolak tetapi tetap mengirimkannya, sehingga kesalahan ini masih dapat terjadi.

Kesalahan ini juga dapat terjadi untuk tool yang skemanya mendeklarasikan dialek JSON Schema selain draft 2020-12 di $schema. Claude Code tidak memeriksa skema tersebut terhadap meta-skema JSON Schema, meskipun pemeriksaan nama properti tingkat atas tetap berlaku.

Sebelum v2.1.216, tidak ada deployment yang menjalankan pemeriksaan pengecualian.

Yang harus dilakukan:

  • Jika versi Claude Code Anda lebih awal dari v2.1.300, jalankan claude update di shell Anda. Sebelum v2.1.300, Claude Code tidak mencoba ulang permintaan tanpa parameter tool yang ditolak, sehingga kesalahan ini berulang pada setiap permintaan yang menyertakan tool tersebut.
  • Hapus atau nonaktifkan server MCP yang mendeklarasikan skema tidak valid tersebut. Kesalahan hanya menyebutkan tool berdasarkan posisi. Pada v2.1.216 atau yang lebih baru, periksa log setiap server untuk menemukan baris yang menyebutkan tool yang skema input-nya akan ditolak. Jika tidak ada log yang menyebutkannya, nonaktifkan server satu per satu.
  • Jika Anda memelihara server tersebut, perbaiki input_schema tool-nya. Skema harus berupa JSON Schema yang valid, dan nama properti tingkat atas harus sepanjang 1 hingga 64 karakter serta hanya menggunakan huruf dan angka ASCII, _, ., dan -. Lihat Tool dengan skema input tidak valid.

Nama tool MCP lebih dari 128 karakter

Sebuah server MCP mencantumkan tool yang nama lengkapnya, seperti mcp__<server>__<tool>, lebih panjang dari 128 karakter yang diterima API. Claude Code tidak menyertakan tool tersebut dalam tool yang dikirimnya ke Claude, dan tool lain dari server tersebut tetap berfungsi. Dalam sesi yang Anda mulai dengan claude --debug dari shell Anda, Claude Code menulis pesan ini ke log debug di ~/.claude/debug/<session-id>.txt:

Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 128

Yang harus dilakukan:

  • Jika Anda memelihara server tersebut, perpendek nama tool-nya.
  • Jika server ada di konfigurasi MCP Anda, beri nama yang lebih pendek di sana, seperti db sebagai pengganti analytics-database. Kemudian perbarui hal-hal yang merujuk ke server atau tool-nya dengan nama lama, seperti aturan izin dan matcher hook.
  • Jika sebuah plugin menyertakan server tersebut, nama lengkap tool juga mencakup nama plugin. Minta pemelihara plugin untuk memperpendek nama server atau tool.

Sebelum v2.1.292, Claude Code tetap mengirim tool tersebut, dan API menolak setiap permintaan yang menyertakannya dengan API Error: 400 ... tools.N.custom.name: String should have at most 128 characters.

tool_use.name lebih dari 200 karakter

Sebuah panggilan tool dalam riwayat percakapan membawa nama yang lebih panjang dari 200 karakter yang diterima API dalam sebuah permintaan:

API Error: 400 ... tool_use.name: String should have at most 200 characters

Claude Code memotong nama seperti itu menjadi 200 karakter ketika respons tiba dan ketika memuat percakapan tersimpan, sehingga panggilan tersebut gagal dengan kesalahan tool No such tool available dan percakapan berlanjut tanpa kesalahan API ini.

Yang harus dilakukan:

  • Jalankan claude update, lalu lanjutkan percakapan. Versi yang diperbarui memperbaiki nama yang terlalu panjang saat memuat transkrip, sehingga percakapan yang macet dapat berfungsi kembali.

Sebelum v2.1.281, nama yang terlalu panjang tetap berada di riwayat dan API menolak setiap permintaan yang mengirim ulang percakapan, termasuk /compact dan --resume, sehingga kesalahan ini berulang dan percakapan macet.

There's an issue with the selected model

Nama model yang dikonfigurasi tidak dikenali atau akun Anda tidak memiliki akses ke model tersebut. Sejak v2.1.160, petunjuk di akhir, yang ditampilkan di sini dalam bentuk interaktifnya, bervariasi menurut surface.

There's an issue with the selected model (claude-...). It may not exist or you may not have access to it. Run /model to pick a different model.

Yang harus dilakukan:

  • CLI interaktif: jalankan /model untuk memilih dari model yang tersedia untuk akun Anda.
  • Mode non-interaktif (-p): berikan --model dengan alias atau ID yang valid, atau atur ANTHROPIC_MODEL. Teks kesalahan menampilkan Run --model pada surface ini.
  • Agent SDK: teks kesalahan menghilangkan petunjuk karena model diatur secara terprogram. Atur model pada Options di TypeScript atau ClaudeAgentOptions(model=...) di Python, dan tangani kesalahan terstruktur model_not_found untuk menampilkan retry atau pemilih model Anda sendiri.
  • Gunakan alias seperti sonnet atau opus alih-alih ID berversi lengkap. Alias di-resolve ke default yang dipelihara sehingga tidak menjadi usang. Lihat Konfigurasi model.
  • Jika model yang salah terus muncul kembali di CLI, ada ID usang yang diatur di suatu tempat. Periksa tempat-tempat Anda dapat mengatur model dalam urutan prioritas dan hapus nilai yang usang.
  • Claude Code melaporkan login claude.ai yang kedaluwarsa sebagai Login expired, bukan sebagai kesalahan ini. Sebelum v2.1.206, login kedaluwarsa yang tidak dapat diperbarui lagi menyebabkan setiap model gagal dengan kesalahan ini; jalankan /login jika Anda melihatnya pada versi lama.
  • Jika ANTHROPIC_BASE_URL mengarah ke LLM gateway dan setiap model gagal dengan cara ini, periksa apakah gateway Anda dan upstream-nya menerima field tool search. Secara default, Claude Code mengirim field tool defer_loading dan blok tool_reference, dengan header anthropic-beta yang mengaktifkannya. Sebelum v2.1.304, tool search dimatikan di balik gateway kecuali Anda mengaktifkannya dengan ENABLE_TOOL_SEARCH.
  • Untuk deployment Agent Platform dari Google Cloud, lihat Pemecahan masalah Agent Platform dari Google Cloud.

Model is not a recognized model id

String yang Anda berikan ke pergantian model bukanlah string yang dapat digunakan Claude Code sebagai model, sehingga Claude Code menolak pergantian tanpa mengirim permintaan dan sesi mempertahankan model saat ini. Anda dapat mengalami kesalahan ini ketika model diatur melalui metode setModel() Agent SDK, oleh aplikasi yang menjalankan Claude Code CLI untuk Anda, seperti aplikasi Desktop, atau ketika Anda memilih model dari perangkat yang terhubung melalui Remote Control. Sebelum v2.1.200, Claude Code menyimpan string tersebut dan gagal pada permintaan berikutnya dengan There's an issue with the selected model.

Model "Sonnet5" is not a recognized model id. Did you mean 'claude-sonnet-5'?

Dalam contoh ini, sebuah aplikasi mengirim nama tampilan Sonnet 5, yang diulang pesan tanpa spasinya. Petunjuk di akhir menyebutkan alias atau ID model yang paling cocok. Ketika tidak ada yang cukup mirip, petunjuknya berbunyi Run /model to see available models. sebagai gantinya. Dalam sesi yang dimulai aplikasi Desktop untuk Anda, petunjuk tanpa kecocokan berbunyi Switch to a different model.

Ketika Anda berganti melalui Agent SDK atau aplikasi di Anthropic API, hanya string yang tidak mungkin menjadi ID model yang mendapatkan kesalahan ini, seperti nama tampilan atau string kosong.

Ketika Anda memilih model dari perangkat Remote Control, Claude Code memeriksa string secara lokal. String apa pun yang bukan alias model, bukan model yang dicantumkan Claude Code atau yang Anda konfigurasi, dan bukan ID yang diawali dengan claude- mendapatkan kesalahan ini, termasuk ID yang salah ketik seperti claud-sonnet-5. Sebelum v2.1.260, pemeriksaan ini tidak mencakup pilihan dari Remote Control, sehingga string yang tidak dikenali diterapkan dan gagal pada permintaan berikutnya.

Yang harus dilakukan:

  • Jalankan /model tanpa argumen untuk membuka pemilih dan memilih dari model yang tersedia untuk akun Anda, lalu berikan alias atau ID yang ditampilkan di sana
  • Jika Anda menggunakan alias yang hanya didukung versi Claude Code yang lebih baru, jalankan claude update, atau berikan ID lengkap model sebagai gantinya. Server masih dapat mensyaratkan versi Claude Code minimum untuk model tersebut; lihat Claude Code does not support this model.
  • Model yang disimpan sebelum v2.1.200 tidak diperbaiki oleh pemeriksaan ini. Jika nilai usang terus muncul kembali, hapus dari lokasi-lokasi yang tercantum di Mengatur model Anda.
  • Pada penyedia apa pun selain Anthropic API, atau di balik gateway atau ANTHROPIC_BASE_URL kustom, hanya string kosong yang mendapatkan kesalahan ini. Claude Code masih dapat menulis baris diagnostik model tidak dikenali saat permintaan dikirim, pada setiap penyedia.

Model not found

Anda berganti ke model berdasarkan nama dan Claude Code tidak dapat memastikan bahwa model dengan nama tersebut ada. Ketika nama tersebut bukan alias model atau ejaan lain yang diterima Claude Code secara lokal, Claude Code memverifikasinya dengan permintaan API minimal, dan kesalahan ini biasanya merupakan jawaban endpoint API Anda. Dengan /model <name>, nama yang sama sekali tidak mungkin menjadi ID model, seperti nama yang mengandung spasi, mendapatkan pesan yang sama.

Model 'claude-opus-9' not found

Pada penyedia dengan ID model khusus penyedia, pesan dapat menambahkan saran Try '...' instead yang menyebutkan ID penyedia Anda untuk model fallback.

Yang harus dilakukan:

  • Jalankan /model tanpa argumen dan pilih dari model yang tersedia untuk akun Anda, atau gunakan alias model seperti sonnet, yang di-resolve ke default yang dipelihara
  • Jika Anda mengetik ID lengkap, periksa terhadap katalog model penyedia Anda. Model yang baru diluncurkan dapat tersedia di Anthropic API sebelum penyedia atau region Anda menawarkannya.
  • Di Agent SDK, setModel() gagal dengan pesan ini dan sesi tetap berjalan pada model sebelumnya. Di TypeScript SDK, panggil supportedModels() untuk mencantumkan model yang dapat Anda gunakan.
  • Sebelum v2.1.265, /model juga menolak ejaan alias opusplan[1m] dengan kesalahan ini. Pada versi-versi tersebut, perbarui Claude Code, atau atur model di pengaturan atau dengan --model sebagai gantinya.

Couldn't confirm model with the API

Anda berganti model melalui metode setModel() Agent SDK atau aplikasi yang menjalankan Claude Code CLI untuk Anda, seperti aplikasi Desktop, dan permintaan yang mengonfirmasi ID model dengan endpoint API Anda tidak mendapat jawaban dalam 15 detik. Sesi mempertahankan model saat ini.

Couldn't confirm model "claude-sonnet-5" with the API. Try again, or run /model to see available models.

Dalam sesi yang dimulai aplikasi Desktop untuk Anda, pesan berakhir pada Try again.

Yang harus dilakukan:

  • Ganti ke model tersebut lagi
  • Jika pergantian terus gagal, periksa apakah Claude Code dapat menjangkau endpoint API Anda; lihat Kesalahan jaringan dan koneksi

Kesalahan API saat memeriksa model yang dipilih

Anda memilih model dengan /model <name>, atau aplikasi yang terhubung ke sesi meminta pergantian. API menolak permintaan minimal yang dikirim Claude Code untuk memverifikasi model, karena alasan yang tidak memiliki entri tersendiri, seperti rate limit atau kesalahan server. Sesi mempertahankan model saat ini, dan pesan diakhiri dengan menyatakan hal tersebut:

API error: 429 <the server's explanation> · model not changed

Bagian tengah pesan adalah status HTTP dan penjelasan dari server itu sendiri.

Yang harus dilakukan:

Claude Opus is not available with the Claude Pro plan

Paket langganan aktif Anda tidak mencakup model yang Anda pilih.

Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect.

Dalam sesi yang dijalankan aplikasi Claude Desktop, pesan tersebut meminta Anda untuk sign out and sign in again alih-alih menyebutkan perintahnya.

Yang harus dilakukan:

  • Jalankan /model dan pilih model yang termasuk dalam paket Anda
  • Jika Anda baru saja meningkatkan paket dan masih melihat pesan ini, jalankan /logout lalu /login. Token yang tersimpan mencerminkan paket Anda saat Anda masuk, sehingga peningkatan di claude.ai tidak berlaku di sesi yang sudah ada sampai Anda melakukan autentikasi ulang.
  • Lihat claude.com/pricing untuk mengetahui model mana yang termasuk dalam setiap paket

Claude Code does not support this model

API menolak permintaan dengan 400 karena versi Claude Code Anda di bawah minimum yang disyaratkan. Entah model yang Anda pilih memerlukan versi yang lebih baru, yang diperiksa server per model, atau kebijakan organisasi Anda mensyaratkannya. Respons 400 tersebut membawa kode kesalahan claude_code_version_too_old, dan pesan menyebutkan minimum mana yang berlaku.

API Error: 400 Claude Code 2.1.219 does not support this model; version 2.1.255 or newer is required. Run 'claude update', or update the Claude desktop app, then try again.

Kata-kata untuk kebijakan organisasi berbunyi:

API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.

Versi yang diperiksa API adalah versi yang dilaporkan oleh biner Claude Code yang membuat permintaan.

Yang harus dilakukan:

Perbarui biner tersebut, lalu mulai sesi baru. Asal biner menentukan caranya, kecuali di lingkungan self-hosted:

Biner yang membuat permintaan Cara memperbaruinya
Claude Code yang Anda instal Jalankan claude update
Aplikasi desktop Claude Perbarui aplikasi
Biner yang disertakan ekstensi VS Code Perbarui ekstensi
Biner yang disertakan paket Agent SDK Tingkatkan paket SDK, lalu restart aplikasi Anda. Dalam executable file tunggal yang dikompilasi, build ulang executable tersebut
  • Jika Anda menjalankan claude update di saluran rilis stable, perintah tersebut tidak membawa Anda melewati rilis stable terbaru, yang masih bisa berada di bawah minimum yang disyaratkan. Pindah ke saluran latest, lalu perbarui lagi. Jika organisasi Anda mengunci saluran atau versi Anda melalui pengaturan terkelola, minta admin Anda untuk mengubahnya
  • Untuk kata-kata per model, Anda dapat terus bekerja di sesi saat ini dengan beralih ke model lain: jalankan /model di CLI, panggil setModel() pada objek Query TypeScript SDK dalam mode input streaming, atau panggil set_model() pada ClaudeSDKClient Python SDK
  • Untuk kata-kata kebijakan organisasi, perbarui sebelum Anda melanjutkan

Model is restricted by your organization's settings

Admin organisasi Anda telah menonaktifkan model ini di konsol admin claude.ai, atau pengaturan terkelola mengecualikannya melalui allowlist availableModels atau daftar deniedModels. Pemberitahuan muncul saat startup ketika --model, ANTHROPIC_MODEL, atau pengaturan model menyebutkan model yang dibatasi, dan menyebutkan model yang digunakan sesi sebagai gantinya. Jika pengaturan terkelola tidak menyisakan model yang diizinkan untuk digunakan sesi, lihat Managed settings block the default model. Pemberitahuan penggantian juga dapat muncul di tengah sesi setelah admin menonaktifkan model yang sedang digunakan sesi di konsol admin claude.ai.

Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.

Mengetik /model <name> untuk model yang dibatasi akan ditolak dan sesi mempertahankan model saat ini. Untuk model yang dinonaktifkan di konsol admin, penolakannya berbunyi Model '<name>' is restricted by your organization's settings. Run /model to choose a different model. Untuk model yang dikecualikan pengaturan terkelola, bunyinya Model '<name>' is not available. Your organization restricts model selection.

Pemberitahuan yang diawali dengan nama agent, skill, atau perintah berarti pembatasan diterapkan pada model yang diminta subagent tersebut: subagent berjalan pada model pengganti dan model sesi Anda tidak berubah. Sebelum v2.1.223, Claude Code menampilkan pemberitahuan hanya untuk subagent yang diluncurkan dengan tool Agent.

Claude Code memperlakukan alias keluarga model, salah satu dari opus, sonnet, haiku, atau fable, sebagai permintaan untuk keluarga tersebut, bukan untuk versi terbarunya. Di Anthropic API dan di Claude Platform on AWS, alias keluarga yang dibatasi di-resolve ke versi terbaru dari keluarga tersebut yang diizinkan pengaturan organisasi Anda, dan pemberitahuan penggantian menyebutkan versi tersebut. Claude Code menolak /model <alias> hanya ketika setiap versi dari keluarga tersebut dibatasi. Sebelum v2.1.205, alias keluarga diganti atau ditolak hanya berdasarkan versi terbarunya, bahkan ketika versi lama dari keluarga yang sama diizinkan.

Yang harus dilakukan:

  • Jalankan /model untuk memilih dari model yang diizinkan organisasi Anda. Model yang dibatasi disembunyikan dari pemilih.
  • Jika model yang dibatasi diatur di --model, ANTHROPIC_MODEL, field model dari file pengaturan, atau frontmatter model dari subagent, skill, atau perintah, hapus atau perbarui nilai tersebut agar pemberitahuan tidak terulang
  • Jika Anda memerlukan akses ke model yang dibatasi, minta admin organisasi Anda untuk mengaktifkannya. Lihat Pembatasan model organisasi.

Can't switch to the default model

Anda memilih model Default, misalnya dengan memilih baris Default di pemilih /model atau mengetik /model default. Claude Code menolak pergantian, sehingga sesi mempertahankan model saat ini.

Can't switch to the default model: your organization's managed settings block it (claude-opus-4-6) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".

Kata-kata setelah titik dua menyebutkan apa yang memblokir pergantian:

  • your organization's managed settings block it ... in "deniedModels": daftar deny terkelola memblokir model yang menjadi hasil resolve opsi Default
  • your organization allows only the models listed in "availableModels": allowlist availableModels terkelola dengan availableModelsMatch diatur ke "exact" tidak menyertakan model yang menjadi hasil resolve opsi Default
  • Claude Code couldn't read your organization's managed settings to check which models they allow: pengaturan terkelola tidak dapat dibaca, dan Claude Code menolak pergantian alih-alih menerapkannya tanpa pemeriksaan

Yang harus dilakukan:

  • Untuk kata-kata deniedModels dan availableModels, jalankan /model dan pilih model yang diizinkan organisasi Anda berdasarkan nama
  • Minta administrator Anda memperbarui pengaturan terkelola yang disebutkan pesan
  • Untuk kata-kata couldn't read, restart Claude Code; jika terus terjadi, minta administrator Anda memeriksa pengaturan terkelola

Jika sesi justru gagal dimulai dengan pesan Claude Code can't start di bawah pengaturan terkelola ini, lihat Managed settings block the default model.

Model switch was blocked by a PreModelSwitch hook

Sebuah hook PreModelSwitch tidak menyetujui pergantian model yang Anda atau klien minta, sehingga sesi mempertahankan model saat ini. Ketika pergantian berasal dari host Agent SDK atau Remote Control dan bukan dari perintah yang Anda ketik, pesannya berbunyi Model switch blocked by a PreModelSwitch hook tanpa menyebutkan model tujuan.

Model switch to Opus 4.6 was blocked by a PreModelSwitch hook: Opus 4.6 is retired for this project. Use a newer model.

Alasan setelah titik dua menyebutkan apa yang menolak pergantian:

  • Alasan yang ditulis hook: hook PreModelSwitch memberikan alasan tersebut ketika menolak pergantian atau meminta konfirmasi. Tangani apa yang dimintanya, atau pilih model yang diizinkan hook Anda.
  • PreModelSwitch hook <name> did not respond before its timeout: hook yang tidak menjawab sebelum timeout-nya memblokir pergantian. Perbaiki perintah yang menggantung atau naikkan timeout hook tersebut, lalu ganti lagi.
  • confirmation required, and this session cannot ask: hook menjawab ask tanpa alasan, dan permintaan kontrol tidak memiliki cara untuk menampilkan prompt konfirmasi. Perintah /model dalam proses -p melaporkan kondisi yang sama dengan (run /model interactively to confirm) setelah alasannya. Lakukan pergantian dari sesi interaktif, atau ubah keputusan hook untuk model ini.
  • so organization-managed PreModelSwitch hooks could not be checked: Claude Code tidak dapat mengetahui hook PreModelSwitch mana yang dikirimkan plugin terkelola organisasi Anda, misalnya karena plugin terkelola gagal dimuat. Salah satu hook tersebut mungkin memblokir pergantian, sehingga Claude Code menolak alih-alih menerapkan pergantian tanpa pemeriksaan. Awal alasan menyebutkan apa yang gagal. Claude Code memeriksa ulang pada setiap upaya pergantian, sehingga kegagalan yang sudah teratasi berhenti memblokir; jika terus gagal, jalankan claude --debug dan ganti lagi untuk menangkap detailnya, lalu perbaiki plugin tersebut atau minta admin Anda memperbaikinya.
  • a PreModelSwitch hook failed before answering atau PreModelSwitch hooks were cancelled (the control stream closed) before answering: proses hook berakhir tanpa keputusan, dan Claude Code tidak memperlakukannya sebagai persetujuan. Jalankan claude --debug untuk melihat apa yang gagal, lalu ganti lagi.

Sebelum v2.1.260, penolakan plugin terkelola berbunyi plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log. Claude Code mencoba ulang pemuatan plugin sekali lalu menolak pergantian berikutnya dalam sesi, bahkan ketika organisasi Anda tidak mengelola plugin apa pun. Restart sesi untuk menjalankan pemuatan plugin lagi pada versi-versi tersebut.

Couldn't save it as your default

Anda memilih model untuk disimpan sebagai default, misalnya dengan /model <name> atau Enter di pemilih /model, dan Claude Code tidak dapat menulis pilihan tersebut ke file pengaturan pengguna Anda, ~/.claude/settings.json. Pergantiannya sendiri diterapkan, sehingga sesi saat ini berjalan pada model yang Anda pilih, tetapi default Anda tidak berubah dan sesi berikutnya dimulai dengan nilai lama.

Set model to Fable 5.1 for this session only · couldn't save it as your default: ~/.claude/settings.json can't be written (EROFS)

Alasan setelah path file menyebutkan apa yang gagal:

  • can't be written (<code>): penulisan gagal dengan kode kesalahan sistem operasi dalam tanda kurung, seperti EROFS ketika file tersebut, atau file yang ditautkannya, berada di filesystem yang menolak penulisan. Buat file dapat ditulis dan ganti lagi. Jika alat lain menghasilkan file tersebut, atur kunci model di alat itu sebagai gantinya; lihat Perubahan yang Anda buat di Claude Code hilang di sesi baru.
  • isn't valid JSON: file di disk tidak dapat di-parse, dan Claude Code membiarkannya tidak tersentuh alih-alih menimpa konten yang tidak dapat dibacanya kembali. Perbaiki kesalahan sintaksis, lalu ganti lagi; lihat Memperbaiki file pengaturan yang rusak.

Pemberitahuan yang diakhiri dengan couldn't confirm it was saved as your default (~/.claude/settings.json is still being written) berarti penulisan belum selesai setelah tiga detik. Penulisan berlanjut di latar belakang, sehingga default mungkin tetap tersimpan; periksa model mana yang digunakan sesi berikutnya saat dimulai, atau jalankan /model <name> lagi.

Sebelum v2.1.265, pemberitahuan menyatakan model telah saved as your default for new sessions bahkan ketika penulisan gagal.

Advisor is less capable than the current main model

Model advisor Anda berperingkat di bawah model utama sesi Anda, sehingga Claude Code mempertahankan pilihan tersebut tetapi tidak melampirkan advisor ke permintaan model utama.

Advisor set to Opus 4.8
Note: Opus 4.8 is less capable than the current main model (Sonnet 5.5), so the advisor will not activate. Choose a more capable advisor, or switch to a smaller main model.

Pesan lain melaporkan kondisi yang sama:

  • Dalam sesi interaktif, notifikasi berbunyi Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor.
  • Ketika Anda meluncurkan dengan flag --advisor dalam mode non-interaktif, dan proses tersebut bukan sesi latar belakang, peringatan dikirim ke stderr dan proses tetap dimulai. Bunyinya "<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model. Sesi interaktif menulis peringatan tersebut hanya ke log debug.

Yang harus dilakukan:

  • Pilih advisor dengan peringkat lebih tinggi atau model utama dengan peringkat lebih rendah. Memilih model advisor menampilkan peringkat dan mencantumkan advisor yang diterima untuk setiap model utama.
  • Biarkan advisor tetap diatur jika Anda ingin subagent yang modelnya dapat dinasihati advisor tersebut tetap menggunakannya

Sebelum v2.1.287, Claude Code memberi peringkat beberapa pasangan secara berbeda. Claude Code menampilkan catatan ini untuk advisor Sonnet 5.5 dengan model utama Opus 4.7 atau Opus 4.8, pasangan yang sekarang diterimanya. Claude Code juga melampirkan beberapa advisor yang sekarang menghasilkan catatan ini, seperti advisor Opus 4.8 dengan model utama Sonnet 5.5.

thinking.type.enabled is not supported for this model

Versi Claude Code Anda lebih lama dari versi minimum untuk model yang dipilih. CLI mengirim konfigurasi thinking yang tidak lagi diterima model.

API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.

Yang harus dilakukan:

  • Jalankan claude update dan restart Claude Code. Opus 4.7 memerlukan v2.1.111 atau yang lebih baru. Opus 4.8 memerlukan v2.1.154 atau yang lebih baru. Sonnet 5 memerlukan v2.1.197 atau yang lebih baru. Opus 5 memerlukan v2.1.219 atau yang lebih baru. Opus 5.5 memerlukan v2.1.280 atau yang lebih baru. Sonnet 5.5 memerlukan v2.1.284 atau yang lebih baru
  • Di saluran rilis stable, pembaruan tidak membawa Anda melewati rilis stable terbaru, yang masih bisa lebih lama dari versi-versi ini. Pindah ke saluran latest, lalu perbarui
  • Jika Anda tidak dapat meningkatkan versi, jalankan /model dan pilih Opus 4.6 atau Sonnet 4.6 sebagai gantinya
  • Jika Anda mengalami ini di Agent SDK, tingkatkan paket SDK sebagai gantinya. Opus 4.8 memerlukan TypeScript SDK v0.3.154 atau yang lebih baru dan Python SDK v0.2.88 atau yang lebih baru. Sonnet 5 memerlukan TypeScript SDK v0.3.197 atau yang lebih baru. Opus 5 memerlukan TypeScript SDK v0.3.219 atau yang lebih baru. Opus 5.5 memerlukan TypeScript SDK v0.3.280 atau yang lebih baru. Sonnet 5.5 memerlukan TypeScript SDK v0.3.284 atau yang lebih baru

Effort isn't available with thinking turned off

Anda mematikan extended thinking dan menjalankan pada tingkat effort di atas high. Model tidak menerima kombinasi tersebut, sehingga API menolak permintaan.

API Error: Effort 'xhigh' isn't available with thinking turned off on this model · run /effort high to continue, or turn thinking back on (unset MAX_THINKING_TOKENS=0)

Petunjuk setelah · bervariasi menurut sesi: dalam sesi non-interaktif bunyinya use --effort high (or the effortLevel setting), dan dalam sesi yang dijalankan aplikasi Claude Desktop bunyinya you can lower effort to High.

Yang harus dilakukan:

Sebelum v2.1.242, Claude Code menampilkan pesan API itu sendiri: API Error: 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking. Sebelum v2.1.251, Claude Code mengirim permintaan pada tingkat effort yang Anda atur, sehingga Opus 5 menolak setiap permintaan di atas high dengan thinking dimatikan. Claude Code sekarang mengirim effort high sebagai gantinya ke model yang diketahuinya menolak kombinasi tersebut, seperti Opus 5.

Thinking budget melebihi batas output

Thinking budget extended thinking yang dikonfigurasi melebihi panjang respons maksimum, sehingga tidak tersisa ruang untuk jawaban yang sebenarnya.

API Error: 400 ... max_tokens must be greater than thinking.budget_tokens

Yang harus dilakukan:

Response exceeded the output token maximum

Balasan Claude mencapai jumlah token output terbesar yang diizinkan permintaan dan terpotong di sana:

API Error: Claude's response exceeded the ... output token maximum. To configure this behavior, set the CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable.
API Error: Claude's response exceeded the 64000 output token maximum for a request sent without streaming. The CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable cannot raise this limit.

Bentuk yang menyebutkan a request sent without streaming berarti permintaan streaming gagal dan Claude Code mengirim ulang tanpa streaming, yang membatasi balasan hingga 64.000 token output. Sebelum v2.1.299, balasan yang terpotong pada permintaan yang dikirim ulang seperti itu mengakhiri giliran tanpa pesan ini, seolah-olah balasan tersebut lengkap.

Yang harus dilakukan:

  • Jika Claude menulis sebagian teks sebelum balasan terpotong, balas continue dalam sesi interaktif untuk meminta sisanya. Teks tersebut tetap berada dalam percakapan.
  • Jika pesan meminta Anda mengatur CLAUDE_CODE_MAX_OUTPUT_TOKENS, lihat CLAUDE_CODE_MAX_OUTPUT_TOKENS untuk mengetahui bagaimana nilainya dibatasi dan Mengatur environment variable untuk mengetahui di mana mengaturnya
  • Agar setiap balasan tetap di bawah batas, minta Claude menghasilkan output dalam bagian-bagian yang lebih kecil, seperti satu file atau satu bagian per balasan

Ketidakcocokan tool use atau thinking block

Riwayat percakapan mencapai API dalam keadaan tidak konsisten.

API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.
API Error: 400 orphaned tool_result in conversation history. Run /rewind to recover the conversation.
API Error: 400 duplicate tool_use ID in conversation history. Run /rewind to recover the conversation.
API Error: 400 ... unexpected `tool_use_id` found in `tool_result` blocks
API Error: 400 ... thinking blocks ... cannot be modified

Semua varian memiliki arti yang sama: urutan blok tool_use, tool_result, dan thinking dalam riwayat tidak lagi sesuai dengan yang diharapkan API.

Yang harus dilakukan:

  • Jika Anda menggunakan Opus 4.7 atau Opus 4.8, jalankan claude update terlebih dahulu. Versi sebelum v2.1.156 dapat memicu kesalahan ini selama penggunaan tool normal, dan /rewind tidak menghilangkannya.
  • Jalankan /rewind, atau tekan Esc dua kali, untuk mundur ke checkpoint sebelum giliran yang rusak dan lanjutkan dari sana. Lihat Checkpointing untuk mengetahui bagaimana checkpoint dibuat dan dipulihkan.

Invalid data in redacted_thinking block

API menolak permintaan dengan 400 karena tidak dapat menerima blok redacted_thinking yang dibawa oleh giliran sebelumnya dalam riwayat percakapan.

API Error: 400 ... Invalid `data` in `redacted_thinking` block

Claude Code tidak menyertakan thinking sebelumnya dari percakapan dalam permintaan dan mencoba ulang sekali, sehingga sesi berlanjut tanpa menampilkan kesalahan. Sebelum v2.1.282, Claude Code mempertahankan blok yang ditolak, dan setiap giliran berikutnya gagal dengan kesalahan yang sama.

Yang harus dilakukan:

  • Jika Anda menggunakan v2.1.281 atau yang lebih lama dan setiap giliran gagal dengan kesalahan ini, jalankan claude update dan lanjutkan sesi
  • Jika kesalahan tetap ada, jalankan /clear untuk memulai percakapan yang tidak membawa blok tersebut

Unsupported tool content removed

Ketika Claude Code terhubung langsung ke Anthropic API dan memuat atau menampilkan pratinjau sesi tersimpan, Claude Code menghapus konten tool yang tidak diterima Anthropic API dan meninggalkan baris ini di tempat konten yang dihapus berada di antara dua thinking block:

[Unsupported tool content removed]

Konten seperti itu masuk ke file sesi ketika sesuatu selain Anthropic API menjawab dalam format API, biasanya proxy pihak ketiga yang diatur melalui ANTHROPIC_BASE_URL yang menerjemahkan panggilan tool dari penyedia lain. Claude Code menghapusnya hanya ketika sesi terhubung langsung ke Anthropic API, dan memuat riwayat tersimpan apa adanya ketika sesi berjalan melalui proxy atau pada penyedia lain. Sebelum v2.1.246, Claude Code mengirim tool use dan hasilnya kembali ke API, dan setiap giliran sesi yang dilanjutkan gagal dengan kesalahan 400 seperti messages.1.content.0.server_tool_use.name: Input should be 'web_search', 'web_fetch', ....

Yang harus dilakukan:

  • Tidak ada yang perlu dilakukan ketika Anda melihat baris placeholder tersebut. Sesi berlanjut tanpa konten yang dihapus.
  • Jika setiap giliran sesi yang dilanjutkan justru gagal dengan kesalahan 400, jalankan claude update dan lanjutkan sesi lagi. Versi sebelum v2.1.246 tidak menghapus konten tersebut.

role 'system' must precede an 'assistant' message

API menolak permintaan dengan 400 karena sebuah pesan sistem berada di posisi dalam percakapan yang tidak diterimanya:

API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ...

Claude Code mengirim sebagian teks pengingat dan lampirannya sebagai pesan sistem di dalam percakapan. Ketika API menolak posisi salah satunya, Claude Code mencoba ulang permintaan sekali dengan teks tersebut dikirim sebagai pesan pengguna biasa. Kata-kata penempatan sejenis dari API, seperti use the top-level 'system' parameter for the initial system prompt, mendapatkan pemulihan yang sama.

Ketika kesalahan tetap muncul, pesan sistem yang ditolak bukanlah pesan yang dapat dihapus Claude Code. Hal itu biasanya berarti proxy atau LLM gateway di antara Claude Code dan API menambahkan pesan sistemnya sendiri.

Yang harus dilakukan:

  • Jika kesalahan berulang di setiap giliran di balik proxy atau gateway yang dikonfigurasi melalui ANTHROPIC_BASE_URL, hubungkan tanpa proxy untuk memastikan sumbernya, dan laporkan kesalahan kepada pihak yang mengoperasikannya
  • Jalankan /clear untuk memulai percakapan baru. Jika kesalahan juga muncul kembali di sana, penyebabnya ada di jalur permintaan, bukan di percakapan tersimpan.

Sebelum v2.1.280, Claude Code tidak mengenali kata-kata ini, sehingga kesalahan juga muncul ketika pesan sistem yang ditolak adalah pesan yang dikirim Claude Code sendiri, dan setiap giliran berikutnya dalam percakapan gagal dengan cara yang sama.

Invalid encrypted_content in search_result block

API menolak permintaan dengan 400 karena riwayat percakapan memuat konten web search yang di-hosting yang tidak dapat didekripsinya. Kata-katanya menyebutkan field yang tidak dapat dibacanya:

API Error: 400 ... Invalid `encrypted_content` in `search_result` block
API Error: 400 ... Invalid `encrypted_index` in `text` block
API Error: 400 ... Failed to decrypt web search result content
API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block

Hasil dari web search tool yang di-hosting API membawa field terenkripsi yang hanya dapat dibaca API. Kata-kata encrypted_stdout menyebutkan output dari program code execution yang di-hosting yang membaca hasil tersebut, yang juga dienkripsi API. API menolak permintaan yang memutar ulang konten yang tidak dapat didekripsinya, seperti konten yang dihasilkan untuk organisasi lain.

Tool WebSearch milik Claude Code sendiri mencatat hasil pencarian sebagai teks biasa, sehingga blok-blok ini biasanya masuk ke percakapan melalui proxy atau LLM gateway yang menjalankan web search yang di-hosting itu sendiri.

Untuk ketiga kata-kata web search, Claude Code tidak menyertakan panggilan pencarian, hasil, dan kutipan dalam apa yang dikirimnya dan mencoba ulang permintaan sekali, sehingga sesi berlanjut tanpa menampilkan kesalahan. Kata-kata encrypted_stdout tidak memiliki pemulihan seperti itu, sehingga pesan tersebut tetap sampai kepada Anda. Sebelum v2.1.282, Claude Code juga mempertahankan blok web search yang ditolak, dan setiap giliran berikutnya serta /compact gagal dengan cara yang sama.

Yang harus dilakukan:

  • Jika Anda menggunakan v2.1.281 atau yang lebih lama dan setiap giliran gagal dengan salah satu kata-kata web search, jalankan claude update dan lanjutkan sesi
  • Jika kesalahan tetap ada, atau pesan menyebutkan encrypted_stdout, jalankan /rewind untuk mundur ke checkpoint sebelum giliran yang menambahkan konten tersebut, atau jalankan /clear untuk memulai percakapan yang tidak membawanya
  • Jika Anda menjalankan Claude Code di balik proxy atau gateway, laporkan kesalahan kepada pihak yang mengoperasikannya

Penolakan Usage Policy

API menolak untuk merespons karena konten dalam percakapan memicu pemeriksaan Usage Policy.

Jika pesan menyertakan baris Details: `[reasoning_extraction]`, lihat Safeguard menandai permintaan untuk penalaran Claude.

Pesan tersebut menyertakan Request ID dan Message ID yang dapat Anda sebutkan kepada tim dukungan jika Anda yakin penolakan tersebut keliru.

API Error: Opus 4.6 can't help with this. Start a new session to continue.

Send feedback with /feedback or learn more: https://www.anthropic.com/legal/aup

Pesan tersebut menyebutkan nama model yang menolak, atau Claude jika tidak ada model yang tercatat.

Pemeriksaan ini mengevaluasi seluruh percakapan, bukan hanya prompt terakhir Anda, sehingga mengirim pesan baru dalam sesi yang sama biasanya akan memicu kembali penolakan yang sama. Hal yang sama berlaku setelah keluar dan membuka kembali sesi dengan --continue atau --resume, karena transkrip di disk masih berisi konten pemicunya. Di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, pesan ini juga mencakup permintaan yang ditandai oleh langkah-langkah keamanan model sebagai topik keamanan siber. Lihat Langkah-langkah keamanan menandai topik keamanan siber.

Sebelum v2.1.219, pesan tersebut berbunyi Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.

Yang harus dilakukan:

  • Tekan Esc dua kali atau jalankan /rewind untuk kembali ke checkpoint sebelum giliran yang memicu penolakan, lalu ubah susunan kata atau gunakan pendekatan yang berbeda. Lihat Checkpointing.
  • Jika Anda tidak dapat mengidentifikasi giliran mana yang menyebabkannya, jalankan /clear untuk memulai percakapan baru dalam proyek yang sama. Percakapan Anda sebelumnya tetap tersimpan di disk dan tetap tersedia di /resume.
  • Dalam mode non-interaktif (-p), di mana rewind tidak tersedia, coba ulang dengan prompt yang disusun ulang dalam sesi baru tanpa --continue. Pemeriksaan kebijakan berbeda-beda untuk setiap model, sehingga beralih ke model lain dengan --model juga dapat mengatasi penolakan dalam beberapa kasus.

Langkah-langkah keamanan menandai topik keamanan siber

Langkah-langkah keamanan model menandai konten dalam percakapan sebagai topik keamanan siber. Pesan tersebut menyebutkan nama model yang menandai permintaan:

API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude

Jika pesan menyertakan baris Details: `[reasoning_extraction]`, lihat Safeguard menandai permintaan untuk penalaran Claude.

Pesan ini menautkan ke Cyber Verification Program, yang memberikan akses untuk pekerjaan keamanan siber yang sah. Model dengan fallback model otomatis menampilkan pesan yang berbeda, tanpa tautan ini; pada Opus 5.5 dan Sonnet 5.5 pesan tersebut diawali dengan <model>'s safeguards flagged this session. Bagian tersebut juga menjelaskan kapan Claude Code beralih model sebagai gantinya.

Di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, penandaan keamanan siber menghasilkan pesan penolakan Usage Policy sebagai gantinya.

Yang harus dilakukan:

  • Jika pekerjaan Anda memerlukan konten ini, ajukan akses melalui Cyber Verification Program
  • Jika permintaan Anda bukan tentang topik keamanan siber, jalankan /feedback untuk melaporkan positif palsu tersebut
  • Untuk tetap bekerja dalam sesi yang sama, tekan Esc dua kali atau jalankan /rewind untuk kembali ke checkpoint sebelum giliran yang memicu penandaan, lalu gunakan pendekatan yang berbeda. Lihat Checkpointing.

Jika pesan yang Anda lihat justru disusun seperti salah satu dari berikut ini, itu adalah penandaan yang sama pada versi Claude Code yang lebih lama:

  • Dari v2.1.219 hingga v2.1.296, pesan tersebut juga dapat menyertakan Apply to the Cyber Verification Program to reduce these interruptions. sebelum kalimat penutupnya
  • Dari v2.1.203 hingga v2.1.218, pesan tersebut berbunyi <model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center: diikuti oleh tautan pusat bantuan yang sama. Dalam sesi interaktif, pesan tersebut dilanjutkan dengan If you were not engaging in a cybersecurity topic, please send feedback via /feedback.
  • Sebelum v2.1.203, pesan tersebut berbunyi <model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption: diikuti oleh tautan formulir pengecualian

Safeguard menandai permintaan untuk penalaran Claude

API menolak permintaan tersebut karena safeguard menandainya sebagai permintaan agar model mereproduksi penalaran internalnya dalam respons. API menamai kategori penolakan ini reasoning_extraction, dan pesan penolakan menyertakan baris ini:

Details: `[reasoning_extraction]`

Sebelum v2.1.234, pesan penolakan tidak menyertakan baris Details.

Yang harus dilakukan:

  • Hapus atau ubah susunan kata dari instruksi apa pun yang meminta Claude menuliskan thinking atau penalarannya secara verbatim atau dalam format tetap, seperti bagian <thinking>, bagian scratchpad, atau field reasoning dalam output JSON. Instruksi tersebut dapat berada di prompt Anda atau dalam kustomisasi yang dimuat Claude Code bersamanya, seperti CLAUDE.md, skill, prompt subagent, gaya output, atau deskripsi tool MCP.
  • Untuk memeriksa apakah suatu kustomisasi menjadi pemicunya, jalankan claude --safe-mode di terminal Anda untuk memulai sesi dengan kustomisasi dinonaktifkan, lalu kirim prompt yang sama
  • Setelah Anda mengubah kustomisasi, mulai sesi baru
  • Untuk mengubah susunan kata dari prompt yang sudah Anda kirim, lihat Rewind dan ringkas
  • Anda tetap dapat meminta Claude untuk menjelaskan jawabannya. Mintalah penjelasan singkat, bukti di balik suatu hasil, atau ringkasan tindakan yang telah diambilnya. Untuk membaca ringkasan pemikiran Claude, lihat showThinkingSummaries.
  • Untuk contoh lainnya, dan apa yang harus dilakukan jika permintaan yang telah diubah susunan katanya tetap ditolak, lihat Keep reasoning in thinking blocks

Output blocked by content filtering policy

Filter konten output API menghentikan respons yang sedang dihasilkan Claude. Teks pesan berasal dari API:

API Error: Output blocked by content filtering policy

Yang harus dilakukan:

  • Ubah susunan kata pesan terakhir Anda atau gunakan pendekatan yang berbeda
  • Untuk kembali ke checkpoint sebelum giliran yang memicu pemblokiran, tekan Esc dua kali atau jalankan /rewind. Lihat Checkpointing

Kesalahan baris perintah

Kesalahan ini berasal dari baris perintah claude dan subperintahnya, dari nama perintah yang Anda kirimkan di prompt, dan dari perintah seperti /security-review yang mengumpulkan konteks dengan menjalankan perintah shell sebelum prompt-nya berjalan. Kesalahan ini juga berasal dari /tui, yang meluncurkan ulang CLI.

Konflik antara --bg dan --print

Pesan ini memerlukan Claude Code v2.1.198 atau yang lebih baru. Anda menggabungkan --bg dengan -p atau --print dalam pemanggilan claude yang sama. --bg memulai sesi latar belakang yang nantinya Anda sambungkan dengan claude agents, sedangkan --print berjalan secara non-interaktif dan tidak pernah memulai sesi interaktif yang disambungkan oleh claude agents. Sebelum v2.1.198, kombinasi ini secara diam-diam membuat pekerjaan latar belakang yang tidak pernah dapat disambungkan.

--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.

Yang perlu dilakukan:

  • Hapus -p atau --print. --bg menerima prompt sebagai argumen posisionalnya, sehingga claude --bg "<task>" adalah perintah lengkapnya. Lihat Dispatch agent baru dari shell Anda.
  • Untuk menjalankan prompt secara non-interaktif dan mencetak hasilnya alih-alih membuat sesi latar belakang, hapus --bg dan jalankan claude -p "<task>"

Couldn't tell whether --bg is a flag or text

Anda menjalankan claude dengan --bg atau --background pada posisi di mana Claude Code tidak dapat membedakan apakah Anda memaksudkannya sebagai flag latar belakang atau sebagai teks. Perintah tersebut tidak memulai apa pun, mencetak baris ini, dan keluar dengan kode 1:

Couldn't tell whether --bg is a flag or text here, so nothing was started. To start a background session put it first: claude --bg <prompt>

Jika Anda mengetik --background, baris tersebut akan menyebut --background sebagai gantinya.

Yang harus dilakukan:

  • Untuk memulai sesi latar belakang, jalankan kembali perintah di shell Anda dengan flag diletakkan pertama: claude --bg --name nightly-audit "<task>"

Konflik antara flag system prompt dan bentuk file-nya

Anda memberikan --append-subagent-system-prompt bersama dengan --append-subagent-system-prompt-file dalam satu pemanggilan claude, sehingga claude keluar dengan kode 1 alih-alih memulai sesi:

Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.

Sebelum v2.1.283, claude keluar dengan cara yang sama ketika Anda memberikan --system-prompt dengan --system-prompt-file, atau --append-system-prompt dengan --append-system-prompt-file, karena pasangan tersebut berkonflik alih-alih digabungkan. Pada versi tersebut, pesan menyebutkan pasangan yang Anda gabungkan.

Yang perlu dilakukan:

  • Pertahankan satu bentuk flag dan hapus yang lain. Untuk menggabungkan file prompt tetap dengan teks per-run, gabungkan teks tersebut ke dalam file sebelum meluncurkan alih-alih memberikan kedua flag

Konfigurasi --agents tidak valid

Nilai yang Anda berikan ke --agents tidak valid, sehingga claude keluar dengan kode 1 alih-alih memulai sesi. Ketika Anda memberikan --safe-mode atau mengatur CLAUDE_CODE_SAFE_MODE, Claude Code mengabaikan --agents sepenuhnya. Dengan --resume atau --continue, nilai JSON inline tidak diperiksa dan sesi dimulai; nilai yang dibaca dari file diperiksa pada setiap peluncuran. Sebelum v2.1.242, Claude Code tetap memulai sesi.

Error: Invalid --agents configuration:
<what failed>

Apa yang mengikuti baris pertama bergantung pada bagaimana nilai tersebut gagal. Claude Code menjalankan pemeriksaan ini secara berurutan dan berhenti pada pemeriksaan pertama yang gagal. Jika nilai Anda memiliki dua jenis masalah, Anda baru melihat masalah kedua setelah memperbaiki yang pertama:

  1. Ketika nilai diawali dengan { tetapi tidak dapat diurai sebagai JSON, atau isi file --agents tidak dapat diurai, Claude Code mencetak satu baris invalid JSON: yang memuat pesan dari pengurai JSON itu sendiri
  2. Ketika nilai dapat diurai tetapi definisi agent tidak sesuai dengan skema untuk subagent yang didefinisikan melalui CLI, Claude Code mencetak satu baris per masalah
  3. Ketika nama agent diawali dengan -, Claude Code mencetak <name>: agent names must not start with '-'

Ketika terdapat lebih dari 20 baris masalah, Claude Code mencetak 20 baris pertama dan mengganti sisanya dengan …and N more.

Dengan --print, --agents juga menerima path ke file JSON sebagai pengganti objek inline. Sebelum v2.1.281, --agents hanya menerima JSON inline dan memperlakukan path file sebagai JSON yang tidak valid. Bentuk file memiliki penolakannya sendiri, yang dicetak sebagai pengganti pesan ini, termasuk yang berikut:

  • Error: --agents takes a JSON object, or a file path only with --print (-p): Claude Code membaca nilai sebagai path file dalam sesi interaktif. Berikan definisi sebagai JSON inline, atau tambahkan -p untuk membacanya dari file.
  • Error: --agents file not found: <path>: tidak ada file di path tersebut. Nilai yang tidak diawali dengan { dan bukan JSON yang valid dibaca sebagai path, sehingga JSON inline yang dirusak oleh shell Anda juga dapat gagal dengan cara ini. Periksa path atau tanda kutipnya dan jalankan perintah lagi.

Yang perlu dilakukan:

Sesi cloud tidak dapat dibuat dari sesi --restricted

Ketika Anda memulai sesi dengan --restricted, Claude Code menolak membuat sesi cloud darinya, karena sesi baru akan berjalan di luar proses yang dibatasi dan tidak akan menerapkan mode terbatas. Claude Code menolak di sisi klien, sebelum menghubungi server, sehingga tidak ada sesi cloud yang dibuat:

Cloud sessions cannot be created from a --restricted session: they would not enforce it.

Yang perlu dilakukan:

  • Jalankan tugas secara lokal di sesi terbatas
  • Jika Anda mengendalikan cara sesi diluncurkan, mulai sesi claude baru tanpa --restricted dan buat sesi cloud dari sana

Sebelum v2.1.248, Claude Code tidak memiliki flag --restricted; versi sebelumnya menolak flag itu sendiri dengan kesalahan opsi tidak dikenal.

Sesi cloud dinonaktifkan oleh kebijakan organisasi Anda

Kebijakan allow_remote_sessions organisasi Anda dimatikan, sehingga sesi cloud dan perintah yang menggunakannya tidak tersedia:

Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

Pesan ini muncul ketika Anda membuat sesi cloud dari terminal dan ketika Anda mengirimkan perintah yang memerlukan sesi cloud, seperti /teleport, /remote-env, atau /web-setup. Sebelum v2.1.268, mengirimkan salah satu perintah tersebut mengembalikan Unknown command.

Jika pesan justru menyebutkan kredensial yang digunakan sesi ini dan diakhiri dengan Cloud sessions use your claude.ai login., lihat Cloud sessions use your claude.ai login. Jika Claude Code sama sekali tidak dapat memuat kebijakan organisasi Anda, Anda akan melihat pesan yang berbeda sebagai gantinya.

Yang perlu dilakukan:

Cloud sessions use your claude.ai login

Ketika penolakan kebijakan menyebutkan kredensial yang digunakan sesi ini dan diakhiri dengan kalimat ini, Claude Code memeriksa kebijakan sesi cloud dari organisasi yang menerbitkan kredensial tersebut. Organisasi tersebut dapat berbeda dari organisasi tempat login claude.ai Anda berada:

Cloud sessions are disabled by your organization's policy. This session is using ANTHROPIC_API_KEY, so Claude Code checked the policy for the organization that key belongs to. Cloud sessions use your claude.ai login.

Kalimat terakhir berarti bahwa sesi cloud berjalan dengan login claude.ai Anda, bukan dengan kredensial tersebut. Bentuk ini muncul ketika Anda memulai, melanjutkan, atau mengirim pesan ke sesi cloud dari shell Anda, seperti dengan --cloud atau --teleport. Sebelum v2.1.296, Claude Code juga mencetak bentuk yang meminta Anda menghubungi admin organisasi dalam kasus ini.

Couldn't verify your organization's policy for cloud sessions

Pesan-pesan ini berarti Claude Code tidak dapat memuat kebijakan organisasi Anda, yang diperiksanya sebelum membuat, melanjutkan, atau mengirim pesan ke sesi cloud. Selama permintaan kebijakan belum selesai, pesannya adalah:

Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.

Di dalam sesi, perintah yang memerlukan sesi cloud, seperti /teleport atau /web-setup, juga memberikan pesan ini. Hal ini terjadi bahkan ketika shell Anda akan mencetak bentuk Cloud sessions aren't available:, dan kalimat keduanya berbunyi Check your network connection, then restart Claude Code and try again.

Setelah permintaan kebijakan gagal, pesan menyebutkan apa yang gagal. Hal ini berlaku ketika Anda memulai, melanjutkan, atau mengirim pesan ke sesi cloud dari shell Anda dengan flag seperti --cloud atau --teleport. Tanpa rute ke API, pesannya berbunyi:

Cloud sessions aren't available: couldn't reach api.anthropic.com to load your organization's policy. Check your network or proxy.

Kegagalan lain mengikuti pembuka yang sama dengan penyebabnya masing-masing, seperti proxy yang menolak permintaan dengan HTTP 403, kesalahan server, atau kredensial yang tidak diterima API. Ketika API tidak menerima kredensial yang digunakan sesi ini sebagai pengganti login claude.ai Anda, seperti environment variable ANTHROPIC_API_KEY, pesan juga dapat menyebutkannya dan meminta Anda untuk menghapusnya:

Cloud sessions aren't available: api.anthropic.com didn't accept this session's credentials when Claude Code asked for your organization's policy. Cloud sessions use your claude.ai login. ANTHROPIC_API_KEY is set, so this session is using API-key auth — unset it (or run in a shell without it) to use cloud sessions.

Sebelum v2.1.296, kegagalan ini juga mencetak pesan Couldn't verify.

Yang harus dilakukan:

  • Untuk pesan Couldn't verify, periksa koneksi jaringan Anda dan coba lagi. Di dalam sesi, mulai ulang Claude Code terlebih dahulu
  • Untuk pesan Cloud sessions aren't available:, lakukan apa yang diperlukan oleh penyebabnya, seperti memeriksa proxy Anda atau menghapus kredensial yang disebutkannya, lalu jalankan perintah lagi

Nothing was stashed because a folder replaced a tracked file

Pesan ini berarti sebuah folder di checkout Anda kini berada di tempat yang sebelumnya ditempati file atau link yang dilacak git. Pesan ini muncul setelah Anda memilih opsi stash saat menarik sesi cloud ke terminal Anda, misalnya dengan claude --teleport atau /teleport. Melakukan stash pada kondisi tersebut dapat menghapus file di dalam folder, sehingga Claude Code menolak stash dan membiarkan checkout serta index Anda tidak berubah:

Error: Nothing was stashed: "f" is now a folder in place of a tracked file or link, and stashing could delete what's in it for good. Commit the change or move the folder somewhere else, then try again.

Yang perlu dilakukan:

  • Lakukan commit atas perubahan tersebut atau pindahkan folder ke tempat lain, seperti yang disebutkan pesan, lalu jalankan teleport lagi

Nilai --json-schema bukan JSON Schema yang valid

Skema yang Anda berikan ke --json-schema dalam mode non-interaktif gagal dikompilasi sebagai JSON Schema, sehingga claude keluar dengan kode 1 alih-alih menjalankan prompt. Sebelum v2.1.205, skema yang tidak valid menghasilkan output tidak terstruktur tanpa kesalahan, dan setiap skema yang menggunakan kata kunci format diperlakukan sebagai tidak valid.

Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values

Teks setelah titik dua kedua adalah diagnostik validator dan menyebutkan kata kunci atau lokasi yang gagal. Skema yang menggunakan kata kunci format, seperti "format": "email", adalah valid: Claude Code menerima format sebagai anotasi dan tidak menerapkannya.

Claude Code menjalankan dua pemeriksaan sebelum kompilasi skema: Claude Code menolak nilai yang bukan JSON yang dapat diurai dengan Error: --json-schema is not valid JSON, dan JSON valid yang bukan objek dengan Error: --json-schema must be a JSON object.

Yang perlu dilakukan:

  • Perbaiki bagian skema yang disebutkan oleh diagnostik, lalu jalankan ulang perintah
  • Lihat Mendapatkan output terstruktur untuk skema dan perintah yang berfungsi

File pengaturan melebihi batas 2MiB

File yang Anda berikan ke --settings berukuran lebih dari 2 MiB, sehingga claude keluar dengan kode 1 saat startup alih-alih memuatnya. Sebelum v2.1.214, Claude Code membaca file tanpa pemeriksaan ukuran, dan file berukuran beberapa gigabyte atau file perangkat seperti /dev/zero membuat memori bertambah tanpa batas.

Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

Claude Code menolak path --settings yang bukan file biasa dengan cara yang sama: perangkat, FIFO, atau socket melaporkan Error: Cannot use settings file (Not a regular file (device, FIFO, or socket)) diikuti path-nya, dan direktori melaporkan alasan EISDIR.

Yang perlu dilakukan:

  • Arahkan --settings ke file pengaturan JSON biasa yang berukuran di bawah 2 MiB. Lihat Pengaturan untuk formatnya.

Configuration error in ~/.claude.json

Claude Code tidak dapat mem-parse ~/.claude.json, file yang menyimpan detail akun Anda, server MCP, dan status per proyek. Startup non-interaktif seperti claude -p keluar dengan exit code 1.

Ketika Claude Code menemukan cadangan, output menyebutkannya dan mencetak baris cp yang menyalinnya kembali:

Claude configuration file at /home/user/.claude.json is corrupted: <JSON parser's message>
The corrupted file has been backed up to: /home/user/.claude/backups/.claude.json.corrupted.1793664000000
A backup file exists at: /home/user/.claude/backups/.claude.json.backup.1793660400000
You can manually restore it by running: cp -f "/home/user/.claude/backups/.claude.json.backup.1793660400000" "/home/user/.claude.json"

Configuration error in /home/user/.claude.json: <JSON parser's message>

Yang perlu dilakukan:

  • Output memiliki baris cp: jalankan baris tersebut di terminal Anda. Di Windows, jalankan di PowerShell.
  • Output tidak memiliki baris cp, atau kesalahan muncul kembali setelah Anda menjalankannya: jika ~/.claude.json masih berisi konfigurasi Anda, perbaiki JSON-nya. Jika tidak bisa, salin file .claude.json.backup.<timestamp> lain dari ~/.claude/backups/ untuk menimpanya jika ada, atau ganti namanya. Tanpa file di ~/.claude.json, Claude Code dimulai dengan pengaturan default dan tanpa isi yang dimuat file tersebut.
  • ~/.claude.json tidak lagi berisi konfigurasi Anda: temukan file .claude.json.corrupted.<timestamp> yang masih berisi konfigurasi tersebut, di ~/.claude/backups/ atau di direktori home Anda. Perbaiki JSON-nya, lalu salin untuk menimpa ~/.claude.json. Jika Anda tidak dapat menemukan atau memperbaikinya, coba langkah yang sama dengan file .claude.json.backup.<timestamp> yang berisi konfigurasi Anda. Jika tidak ada yang berisi, ganti nama ~/.claude.json dan tambahkan kembali server MCP Anda dengan claude mcp add.

Claude configuration file was empty and no backup holds anything

Pesan ini saat startup berarti file yang disebutkannya kosong dan tidak ada salinan .backup dari file tersebut yang berisi apa pun. Claude Code dimulai dengan nilai default untuk apa yang disimpan file tersebut. File settings.json dan .mcp.json Anda adalah file terpisah.

Claude configuration file at /home/user/.claude.json was empty and no backup holds anything: starting with defaults.

Yang perlu dilakukan:

  • Siapkan kembali apa yang telah Anda konfigurasikan di file tersebut. Misalnya, tambahkan server MCP cakupan user dan local Anda dengan claude mcp add dari terminal.
  • Masuk kembali jika Claude Code memintanya

Sebelum v2.1.318, Claude Code melaporkan file kosong tanpa cadangan sebagai rusak.

Direktori saat ini sudah tidak ada

Anda memulai claude dari direktori yang dihapus atau dipindahkan setelah shell Anda memasukinya, misalnya worktree atau direktori sementara yang dihapus oleh shell lain. Claude Code tidak dapat membaca direktori kerjanya, sehingga keluar dengan kode 1 sebelum memulai sesi, baik dalam mode interaktif maupun non-interaktif. Sebelum v2.1.239, Claude Code mengalami crash dengan sumber bundle yang diminifikasi dan stack ENOENT ... uv_cwd mentah di stderr alih-alih pesan ini.

The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.
error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.

Penyebab dan perbaikannya sama untuk kedua bentuk.

Ketika Claude Code tidak dapat membaca direktori kerja karena alasan lain, seperti perubahan permission, pesan menyebutkan kode kesalahannya: Can't read the current directory (EACCES). Start Claude Code from a different directory.

Di macOS, EPERM untuk direktori di ~/Desktop, ~/Documents, ~/Downloads, atau iCloud Drive biasanya berarti macOS memblokir aplikasi terminal Anda dari folder tersebut. Perintah lain yang membaca folder tersebut gagal dengan cara yang sama: ls di sana melaporkan Operation not permitted, bahkan dengan sudo.

Yang perlu dilakukan:

  • Pindah ke direktori yang ada, seperti direktori home atau direktori proyek Anda, lalu jalankan claude lagi
  • Jika direktori dibuat ulang di path yang sama, shell Anda masih memegang direktori yang telah dihapus. Jalankan cd "$PWD" atau keluar lalu masuk kembali ke direktori tersebut, lalu jalankan claude lagi
  • Untuk EPERM di macOS, tutup aplikasi terminal Anda dengan Cmd+Q, buka lagi, kembali ke folder tersebut, dan jalankan claude. Jika ls di folder tersebut masih gagal, buka System Settings > Privacy & Security > Files and Folders, aktifkan folder tersebut untuk aplikasi terminal Anda, lalu buka kembali terminal

Direktori sementara ditolak atau tidak dapat dibuat

Di macOS dan Linux, Claude Code membuat direktori sementara privat saat startup, claude-<uid> di bawah direktori sementara sistem atau override CLAUDE_CODE_TMPDIR. Ketika direktori tidak dapat dibuat, atau entri yang sudah ada di path tersebut gagal dalam pemeriksaan keamanan, Claude Code mencetak kegagalan ke stderr dan keluar dengan kode 1 alih-alih memulai sesi:

Claude Code's temporary directory /tmp/claude-501 could not be created: the volume holding /tmp is full (ENOSPC). Free space on that volume, or set CLAUDE_CODE_TMPDIR to a directory on another one, then try again.

Temp directory /tmp/claude-501 is not a directory (may be an attacker-planted symlink). Refusing to use it. Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it.

Temp directory /tmp/claude-501 is owned by uid 502, expected 501. Refusing to use it — another user may have pre-created it. Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it.

Temp directory /tmp/claude-501 is not readable (its mode may have been altered, or a path component denies search). Refusing to use it — restore its permissions (chmod 0700) or remove it. Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it.

Yang perlu dilakukan:

  • Untuk could not be created yang diikuti is full (ENOSPC), kosongkan ruang disk pada volume yang disebut pesan. Ketika pesan justru mengatakan your disk quota on the volume holding /tmp is used up (EDQUOT), hapus file milik Anda sendiri di volume tersebut yang tidak lagi Anda perlukan
  • Untuk bentuk Refusing to use it, hapus entri yang disebutkan itu sendiri, bukan yang ditunjuk oleh tautan, dan mulai Claude Code lagi; untuk bentuk owned by uid, hanya administrator atau pengguna tersebut yang dapat menghapusnya
  • Untuk is not readable, jalankan chmod 0700 pada direktori yang disebutkan, atau hapus direktori tersebut dan mulai lagi
  • Dalam semua kasus ini, atur CLAUDE_CODE_TMPDIR ke direktori yang Anda kendalikan dan mulai Claude Code lagi, tanpa mengubah path yang ditolak

Sebelum v2.1.309, Claude Code hanya mencetak teks kesalahan dari sistem operasi ketika volume penuh atau kuota Anda habis. Contohnya adalah ENOSPC: no space left on device, mkdir '/tmp/claude-501', dan langkah-langkah yang sama berlaku.

Claude Code could not save because the disk is full

Baris ini di stderr setelah run claude -p berarti disk penuh atau kuota disk Anda habis, sehingga Claude Code tidak dapat menyimpan semua hal dari run tersebut:

Error: Claude Code could not save all of this session's transcript under /Users/you/.claude because the disk is full (ENOSPC). If you resume this session, part of the conversation may be missing. Free up space on that disk before the next run.

Dengan output teks atau json, run keluar dengan kode 1, dan jawaban sudah dicetak. Dengan output stream-json, run mempertahankan exit code biasanya, dan jawaban tetap diterima.

Yang harus dilakukan:

  • the disk is full (ENOSPC): sebelum run berikutnya, kosongkan ruang pada disk yang menyimpan path di pesan
  • your disk quota is used up (EDQUOT): sebelum run berikutnya, kosongkan ruang atau minta kuota yang lebih besar

Direktori tidak dapat di-resolve ke lokasi sebenarnya

Anda menjalankan /add-dir untuk subdirektori dari direktori kerja Anda, dan Claude Code tidak dapat me-resolve direktori tersebut ke lokasi sebenarnya.

Anda sudah memiliki akses file ke subdirektori dari direktori kerja, sehingga /add-dir hanya memuat skill, perintah, dan agent-nya. Sebelum memuatnya, Claude Code memeriksa bahwa lokasi sebenarnya direktori tersebut, dengan semua symlink di-resolve, berada di dalam direktori kerja. Ketika Claude Code tidak dapat me-resolve lokasi tersebut, Claude Code tidak memuat apa pun dan menampilkan pesan ini:

packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.

Yang perlu dilakukan:

  • Periksa bahwa path tersebut menunjuk ke direktori nyata di dalam direktori kerja, lalu jalankan /add-dir lagi
  • Pesan ini tidak mengubah akses file Anda; pesan ini hanya melaporkan bahwa konten .claude/ direktori tersebut tidak dimuat

Sebelum v2.1.261, pesan ini juga muncul untuk setiap /add-dir <subdirectory> ketika direktori kerja berada di automount /net/<host>, tempat Claude Code memang tidak me-resolve path berdasarkan desain; direktorinya baik-baik saja dan mencoba ulang tidak membantu.

Workspace tidak dipercaya saat memulai Remote Control

[!NOTE]

Jika claude ultrareview mencetak Error: Workspace not trusted, lihat Workspace not trusted when running claude ultrareview sebagai gantinya.

Anda memulai mode server Remote Control dengan claude remote-control atau alias claude rc-nya di direktori yang belum Anda percayai, dan perintah tersebut tidak dapat menanyakan apakah Anda ingin memercayainya. Misalnya, input standar atau output standar perintah bukan terminal karena salah satunya dialihkan atau di-pipe. Perintah keluar dengan kode 1:

Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

Dua varian yang juga diawali dengan Error: Workspace not trusted. muncul di terminal yang terlalu kecil untuk menampilkan apa yang diaktifkan dengan memercayai direktori, atau terminal yang tidak melaporkan ukurannya. Perbesar jendela atau beralih ke jendela terminal biasa, lalu jalankan claude rc lagi.

Di direktori home Anda, pesannya berbeda, karena dialog kepercayaan workspace tidak pernah menyimpan kepercayaan untuk direktori home, sehingga menerimanya di sana tidak dapat memenuhi pemeriksaan ini. Sebelum v2.1.214, direktori home menampilkan pesan di atas, yang sarannya tidak dapat berhasil di sana.

Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).

Jika Anda menjawab n atau menekan Enter pada pertanyaan Trust <directory>?, perintah mencetak pesan Remote Control did not start yang menyebutkan direktori tersebut dan keluar dengan kode 1. Jalankan claude rc lagi untuk menjawab y.

Yang perlu dilakukan:

  • Percayai direktori tersebut dari terminal terlebih dahulu: jalankan claude rc di sana dan jawab y, atau jalankan claude di sana dan terima dialog kepercayaan workspace, lalu jalankan perintah asli Anda lagi
  • Di direktori home Anda, pindah ke direktori proyek dan mulai Remote Control di sana

Sebelum v2.1.284, perintah tidak pernah bertanya, bahkan di terminal.

Workspace not trusted when running claude ultrareview

Di folder yang belum Anda percayai, ketika claude ultrareview tidak dapat menanyakan apakah Anda memercayainya, run keluar dengan exit code 1 sebelum review dimulai:

Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog. Or, in a script or CI job, pass `--trust-workspace` to trust the folder for this run only.

Misalnya, subperintah tidak dapat bertanya ketika standard input atau standard output-nya bukan terminal. Mengirim output ke file, seperti pada claude ultrareview --json > findings.json, berarti standard output bukan terminal.

Yang harus dilakukan:

  • Dalam skrip atau job CI, tambahkan --trust-workspace untuk memercayai folder tersebut untuk eksekusi itu: claude ultrareview --trust-workspace. Tambahkan hanya untuk kode yang Anda percayai, karena git dan Claude Code kemudian dapat menjalankan program yang disebutkan dalam konfigurasi git dan pengaturan proyek di folder tersebut. Untuk pull request yang kodenya tidak Anda percayai, jalankan review dari branch yang Anda percayai.
  • Di mesin Anda sendiri, jalankan claude di folder tersebut dan terima dialog kepercayaan workspace, lalu jalankan perintah asli Anda lagi

Setiap pesan berikut dari claude ultrareview berarti tidak ada review yang dimulai dan exit code-nya adalah 1:

  • Error: Workspace not trusted. This terminal ...: terminal tidak melaporkan jumlah baris dan kolom, atau tidak dapat memuat pertanyaan kepercayaan beserta peringatannya. Perbesar terminal atau gunakan terminal yang melaporkan ukurannya, lalu jalankan claude ultrareview lagi. Di luar direktori home Anda, Anda juga dapat menjalankan claude di folder tersebut sekali dan menerima dialog kepercayaan, sehingga run berikutnya di sana tidak bertanya.
  • Error: Workspace not trusted. <folder> is your home directory: karena kepercayaan untuk direktori home Anda tidak pernah disimpan, menjalankan claude di sana terlebih dahulu tidak dapat membantu. Jalankan claude ultrareview dari direktori proyek sebagai gantinya, setelah menjalankan claude di sana sekali untuk menerima dialog kepercayaan, atau tambahkan --trust-workspace.
  • No answer in time. diikuti Error: Workspace not trusted: pertanyaan Trust <folder>? [y/N] tidak dijawab selama 5 menit. Jalankan claude ultrareview lagi dan jawab pertanyaan tersebut.
  • Ultrareview did not start: <folder> is not trusted: Anda menolak pada pertanyaan Trust <folder>? [y/N], misalnya dengan menjawab n atau menekan Enter. Untuk memulai review, jalankan claude ultrareview lagi dan jawab y.
  • Ultrareview did not start: `--trust-workspace` takes no value: sesuatu selain flag mengikuti --trust-workspace, seperti nomor PR atau false. Jika Anda tidak memercayai folder tersebut, jangan sertakan flag. Untuk memercayainya untuk eksekusi ini, letakkan nomor PR atau branch dasar sebelum flag: claude ultrareview 1234 --trust-workspace.

Sebelum v2.1.309, claude ultrareview tidak menerima --trust-workspace.

Remote Control tidak dimulai karena sebuah pertanyaan tidak mendapat jawaban

Pesan ini berarti claude remote-control mengajukan pertanyaan first-run yang dikutip dalam pesan dan tidak mendapat jawaban:

Remote Control did not start: "Enable Remote Control?" got no answer. Run `claude remote-control` at a terminal and answer y once; it won't ask again.
Remote Control did not start: "Choose [1/2] (default: 1):" got no answer. You can run `claude remote-control` and choose, or pass --spawn=same-dir or --spawn=worktree.

Yang harus dilakukan:

  • Enable Remote Control?: dalam skrip atau service, input standar berakhir sebelum ada yang dapat menjawab. Jalankan claude remote-control sekali di terminal, sebagai pengguna yang menjalankan skrip atau service Anda, dan jawab y.
  • Choose [1/2] (default: 1):: jalankan claude remote-control lagi dan pilih mode spawn, atau berikan --spawn=same-dir atau --spawn=worktree untuk melewati pertanyaan tersebut

Tidak diteruskan ke sesi yang dimulai Remote Control

Anda memulai Remote Control dengan flag claude global sebelum kata kerja remote-control, yaitu flag yang akan membatasi atau mengonfigurasi sesi yang dimulai Remote Control, seperti --settings, --setting-sources, --permission-mode, --disallowed-tools, atau --mcp-config. Flag yang ditempatkan sebelum kata kerja tidak pernah mencapai sesi tersebut. Claude Code menolak untuk memulai, dengan menyebutkan flag tersebut:

Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).

Claude Code tidak menolak flag global yang aman untuk diabaikan, seperti --verbose, --model, atau --session-id atau --plugin-dir yang disisipkan oleh wrapper: Claude Code mengabaikannya dan Remote Control dimulai.

Claude Code juga menolak untuk memulai untuk flag global yang belum dikenalinya sebagai aman, sehingga flag yang ditambahkan dalam rilis yang lebih baru dapat muncul dalam pesan ini hingga rilis berikutnya menandainya sebagai aman.

Yang perlu dilakukan:

  • Hapus flag dari posisi sebelum kata kerja dan berikan opsi Remote Control sendiri setelahnya; claude remote-control --help mencantumkannya
  • Ketika flag yang ditolak adalah --permission-mode, jalankan claude remote-control --permission-mode <mode> untuk mengatur mode izin bagi sesi yang dimulai Remote Control

Sebelum v2.1.248, claude remote-control tidak menerima flag-nya sendiri ketika flag global muncul lebih dulu, dan perintah gagal dengan kesalahan unknown option.

--sandbox or --no-sandbox is not supported by claude remote-control

Error ini berarti perintah yang memulai server Remote Control Anda meneruskan --sandbox atau --no-sandbox setelah remote-control, dan claude remote-control tidak menerima kedua flag tersebut. Server keluar dengan kode 1 alih-alih dimulai:

Error: --sandbox is not supported by claude remote-control. The flag had no effect and was removed. To sandbox sessions, set sandbox.enabled to true in settings.
Error: --no-sandbox is not supported by claude remote-control. The flag had no effect and was removed. Remove it from the command.

Yang harus dilakukan:

  • Hapus flag dari perintah, termasuk di skrip atau definisi layanan yang memulai server untuk Anda, lalu jalankan lagi
  • Untuk menjalankan sesi yang dimulai server dalam sandbox, aktifkan sandboxing dengan mengatur sandbox.enabled ke true dalam file pengaturan

Kedua flag dihapus dari claude remote-control di v2.1.300, sehingga perintah yang ditulis untuk versi sebelumnya masih dapat memuat salah satunya.

claude import belum tersedia dalam build ini

Anda menjalankan claude import, dan Claude Code mendapati alur impor dimatikan, sehingga perintah keluar dengan kode 1 alih-alih memulai impor. Sebelum v2.1.222, build dengan alur impor yang dimatikan memperlakukan import sebagai prompt dan memulai sesi interaktif alih-alih mencetak pesan ini.

`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.

Claude Code mengaktifkan claude import melalui feature flag yang diambilnya dari Anthropic dan di-cache di disk. Pesan ini berarti nilai yang di-cache dimatikan. Penyebabnya biasanya salah satu dari berikut:

  • Anda belum memulai sesi sejak instalasi, sehingga Claude Code belum mengambil flag tersebut. claude import pertama dapat mencetak pesan ini bahkan ketika fitur tersebut tersedia untuk Anda.
  • Anda menggunakan Claude Code melalui Amazon Bedrock, Agent Platform dari Google Cloud, Microsoft Foundry, atau Claude Platform on AWS, atau melalui Claude apps gateway. Claude Code tidak mengambil feature flag dalam sesi ini, sehingga claude import tetap tidak tersedia.
  • Anda mengatur DISABLE_TELEMETRY, DO_NOT_TRACK, CLAUDE_CODE_DISABLE_FEATURE_FLAGS, DISABLE_GROWTHBOOK, atau CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, yang menonaktifkan pengambilan feature flag, sehingga claude import tetap tidak tersedia.

Yang perlu dilakukan:

  • Pada instalasi baru, mulai claude, tunggu hingga sesi dimuat, keluar, dan jalankan claude import lagi
  • Jika pengambilan feature flag tetap dimatikan, siapkan konfigurasi sendiri: tambahkan server MCP dengan claude mcp add, dan buat file CLAUDE.md, skill dan perintah, serta subagent yang ingin Anda bawa. Pesan ini juga menyebutkan ~/.claude/settings.json. Dari konfigurasi yang dibawa claude import, file tersebut hanya menyimpan mode izin; Claude Code tidak membaca server MCP darinya.

Tidak dapat membaca konfigurasi Claude Code

Anda menjalankan claude import saat Claude Code tidak dapat mem-parse ~/.claude.json, file tempat ia menyimpan detail akun dan status per-proyek Anda. Subperintah membaca file tersebut untuk memeriksa ketersediaan tetapi tidak menampilkan dialog pemulihan yang ditampilkan sesi interaktif, sehingga ia keluar dengan kode 1. Sebelum v2.1.222, claude import dengan file konfigurasi yang tidak dapat dibaca memulai sesi interaktif, yang dialog pemulihannya menangani file tersebut.

Could not read Claude Code config — run `claude` with no arguments to recover it.

Yang perlu dilakukan:

  • Jalankan claude tanpa argumen. Claude Code mendeteksi file yang tidak valid dan menawarkan untuk meresetnya. Lalu jalankan claude import lagi.
  • Untuk mempertahankan suntingan manual yang telah Anda buat, perbaiki sintaks JSON di ~/.claude.json dengan editor, lalu jalankan ulang claude import

Tidak dapat mengimpor server dari Claude Desktop

Claude Code tidak dapat menambahkan salah satu server yang Anda pilih di claude mcp add-from-claude-desktop. Perintah tetap mengimpor server terpilih lainnya dan mencetak satu baris per server yang tidak dapat ditambahkannya. Sebelum v2.1.205, server pertama yang gagal menghentikan impor.

Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

Teks setelah nama server adalah alasannya. Yang paling umum adalah pemeriksaan nama: Claude Desktop mengizinkan karakter dalam nama server, seperti spasi dan titik, yang dibatasi claude mcp hanya pada huruf, angka, tanda hubung, dan garis bawah. Alasan lainnya termasuk konfigurasi server yang gagal validasi dan server yang diblokir oleh kebijakan MCP organisasi Anda.

Yang perlu dilakukan:

  • Ganti nama server di claude_desktop_config.json agar hanya menggunakan huruf, angka, tanda hubung, dan garis bawah, lalu jalankan claude mcp add-from-claude-desktop lagi
  • Tambahkan server tersebut secara langsung dengan claude mcp add atau claude mcp add-json dengan nama yang valid. Lihat Mengimpor server MCP dari Claude Desktop.

Tidak dapat menambahkan server MCP ke cakupan managed

Anda menjalankan claude mcp add atau claude mcp add-json dengan --scope managed. Cakupan tersebut menampung server yang disediakan organisasi Anda melalui pengaturan terkelola managedMcpServers. Claude Code hanya membacanya dari pengaturan terkelola, sehingga perintah tidak dapat menulis server ke cakupan tersebut.

Cannot add MCP server to scope: managed

Yang perlu dilakukan:

  • Tambahkan server ke cakupan yang dapat Anda tulis: local, user, atau project. Tanpa --scope, perintah menggunakan local. Lihat Cakupan instalasi MCP
  • Untuk menyediakan server bagi setiap pengguna di organisasi Anda, tambahkan ke managedMcpServers di pengaturan terkelola yang Anda deploy

Tidak dapat menambahkan server MCP ketika pengaturan terkelola hanya mengizinkan server plugin

Anda menjalankan claude mcp add atau claude mcp add-json sementara pengaturan terkelola organisasi Anda mengatur strictPluginOnlyCustomization ke true atau ke daftar yang mencakup mcp. Dengan pengaturan tersebut, Claude Code tidak memuat server MCP dari ~/.claude.json atau .mcp.json, sehingga perintah keluar dengan kode 1 alih-alih menyimpan server yang tidak akan pernah dimuat:

Cannot add MCP server: your organization's managed settings allow only MCP servers that plugins provide. Install a plugin that provides this server, or ask your administrator to make it available.

claude mcp add-from-claude-desktop melaporkan setiap server yang Anda pilih sebagai tidak diimpor, dengan pesan ini sebagai alasannya. /import melaporkan pesan ini untuk setiap server MCP yang coba ditambahkannya dan tetap mengimpor item lain yang ditemukannya.

Sebelum v2.1.284, perintah ini menyimpan server dan melaporkan keberhasilan, dan server tidak pernah dimuat.

Yang perlu dilakukan:

  • Instal plugin yang menyediakan server tersebut
  • Minta administrator Anda untuk mendistribusikan server dalam plugin, atau menyediakannya melalui managedMcpServers jika server tersebut adalah server HTTP atau SSE jarak jauh

Tidak dapat membaca .mcp.json

Perintah yang membaca .mcp.json proyek, seperti claude mcp add atau claude mcp add-json dengan --scope project, atau claude mcp remove, mendapati bahwa file di direktori Anda saat ini bukan file biasa atau berukuran lebih dari 2 MiB, sehingga perintah keluar dengan kesalahan ini alih-alih membaca file.

Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.

Sebelum v2.1.257, FIFO di .mcp.json membuat perintah menunggu selamanya tanpa output, dan symlink ke file perangkat seperti /dev/zero membuat memori bertambah hingga proses dihentikan.

Yang perlu dilakukan:

  • Periksa apa yang ada di .mcp.json di direktori Anda saat ini. Ganti dengan file JSON biasa dalam format cakupan proyek, atau hapus, lalu jalankan perintah lagi.

Server MCP tidak disimpan atau dihapus

Error ini berarti perintah seperti claude mcp add atau claude mcp remove tidak berhasil memasukkan perubahan Anda ke ~/.claude.json. Proses Claude Code lain mungkin telah mengunci file tersebut, atau file tersebut mungkin read-only atau dilindungi oleh sandbox.

MCP server "example" was not saved to /home/user/.claude.json. If other Claude Code processes use that file, they may have kept it locked: add the server again, with CLAUDE_CODE_CONFIG_LOCK_WAIT_MS=60000 set to wait up to a minute. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox first.

Setelah penghapusan, pesan berbunyi was not removed from sebagai pengganti was not saved to, dan remove the server again sebagai pengganti add the server again. Untuk server cakupan local, path diikuti oleh direktori proyek tempat entri tersebut berada, sebagai (local scope for /path/to/project).

Yang perlu dilakukan:

  • Proses Claude Code lain sedang berjalan: perintah menunggu sekitar 10 hingga 20 detik untuk kunci file, lalu menyerah tanpa menulis. Jalankan perintah yang sama lagi dengan CLAUDE_CODE_CONFIG_LOCK_WAIT_MS diatur ke waktu tunggu yang lebih lama dalam milidetik, seperti 60000.
  • File bersifat read-only atau dilindungi sandbox: buat file yang disebutkan pesan dapat ditulis dan jalankan perintah add atau remove yang sama lagi, atau jalankan perintah tersebut di luar sandbox.

Sebelum v2.1.283, claude mcp add, claude mcp add-json, dan claude mcp remove melaporkan keberhasilan bahkan ketika perubahan tidak mencapai file. Sebelum v2.1.318, pesan tidak menyebutkan kunci, dan Claude Code tidak membaca CLAUDE_CODE_CONFIG_LOCK_WAIT_MS.

Server MCP mungkin tidak disimpan atau dihapus

Anda menjalankan claude mcp add, claude mcp add-json, atau claude mcp remove untuk server di cakupan user atau local, dan Claude Code tidak dapat membaca kembali ~/.claude.json untuk mengonfirmasi perubahan. Perubahan tersebut mungkin sudah atau belum tersimpan di disk. Tanda kurung setelah to confirm the change memberikan alasannya.

MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.

Setelah penghapusan, pesan berbunyi may not have been removed dan diakhiri dengan then remove the server again if it is still listed. Jika alasannya adalah the file was not found, server mungkin masih terkonfigurasi.

Sebelum v2.1.283, perintah melaporkan keberhasilan bahkan ketika perubahan tidak dapat dikonfirmasi.

Yang perlu dilakukan:

  • Jalankan claude mcp get <name> untuk memeriksa apakah perubahan ada di disk. Untuk server cakupan local, jalankan dari direktori proyek tempat server tersebut berada, karena cakupan lokal berlaku per proyek.
  • Jika server tidak ada setelah penambahan, atau masih tercantum setelah penghapusan, jalankan perintah tambah atau hapus yang sama lagi.

Server di-host oleh Anthropic dan tidak mendukung OAuth lokal

Anda memulai proses masuk untuk server MCP yang URL-nya menunjuk ke host konektor yang di-host Anthropic yang melakukan autentikasi melalui penyedia identitas pihak ketiga. Host ini mencakup microsoft365.mcp.claude.com, gmail.mcp.claude.com, dan gcal.mcp.claude.com. Claude Code menolak memulai alur OAuth lokalnya untuk host ini baik dari panel /mcp maupun claude mcp login, karena proses masuknya hanya berfungsi melalui claude.ai.

"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.

Yang perlu dilakukan:

  • Hapus entri Anda dengan claude mcp remove <name>, agar entri tersebut tidak menyembunyikan konektor claude.ai di URL yang sama
  • Setelah menghapusnya, hubungkan layanan di claude.ai/customize/connectors, sambil masuk ke akun yang Anda gunakan di Claude Code. Setelah terhubung, konektor muncul di Claude Code secara otomatis jika metode autentikasi aktif Anda adalah login langganan claude.ai

Server menolak header Authorization yang dibuat oleh headersHelper yang dikonfigurasi

Server MCP yang headersHelper-nya menyediakan header Authorization menjawab koneksi dengan HTTP 401 atau 403, sehingga Claude Code melaporkan koneksi sebagai gagal. Karena helper menyediakan header Authorization, Claude Code tidak melakukan fallback ke OAuth untuk server tersebut:

Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.

Claude Code menjalankan ulang helper pada setiap upaya koneksi, sehingga retry setelah penolakan sementara, seperti race rotasi token, dapat berhasil dengan kredensial baru.

Yang perlu dilakukan:

Sebelum v2.1.248, Claude Code menjalankan penemuan OAuth untuk server yang helper-nya menyediakan header Authorization. Penemuan tersebut dapat gagal dengan Incompatible auth server: does not support dynamic client registration alih-alih melaporkan kredensial yang ditolak.

Server MCP menolak kapabilitas elicitation

Server MCP yang dibangun di atas Java MCP SDK 0.11.0 hingga 0.17.0 menolak koneksi. Versi SDK tersebut tidak dapat mem-parse mode elicitation form dan url yang dideklarasikan Claude Code dalam handshake-nya. Pesannya berbunyi:

This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability. Set "bareElicitationCapability": true for it, or upgrade to Java MCP SDK 0.17.1+ (Spring AI 1.0.7+ or 1.1.6+).

Yang harus dilakukan:

  • Upgrade server ke Java MCP SDK 0.17.1 atau yang lebih baru, atau ke salah satu rilis Spring AI yang disebutkan dalam pesan
  • Atau tambahkan "bareElicitationCapability": true ke entri server tersebut dalam konfigurasi MCP Anda, lalu restart Claude Code. Field ini diterima pada entri stdio, sse, http, dan ws dan memerlukan Claude Code v2.1.281 atau yang lebih baru

Entri .mcp.json berikut mengatur field tersebut untuk satu server HTTP:

{
  "mcpServers": {
    "inventory": {
      "type": "http",
      "url": "https://mcp.example.com/mcp",
      "bareElicitationCapability": true
    }
  }
}

Setelah restart, /mcp menampilkan server sebagai terhubung. Claude Code hanya mendeklarasikan mode form ke server tersebut, jadi hapus field tersebut setelah Anda meng-upgrade server.

Server juga dapat gagal dengan teks kesalahannya sendiri, seperti yang berisi Unrecognized field "form". Perbaikan yang sama berlaku.

Tool prompt izin MCP tidak ditemukan

Tool yang Anda berikan ke --permission-prompt-tool tidak termasuk di antara tool MCP yang terhubung saat run pertama kali memerlukan keputusan izin, baik karena servernya tidak pernah terhubung atau karena tidak ada server terhubung yang menyediakan tool dengan nama tersebut. Claude Code tetap mengirimkan prompt Anda: run non-interaktif keluar dengan kesalahan ini, dan exit code 1, pada panggilan tool pertama, sehingga tidak menghasilkan jawaban meskipun permintaan telah dibuat. Sebelum prompt pertama, Claude Code menunggu hingga timeout koneksi per server selama 30 detik yang diatur oleh MCP_TIMEOUT agar server tersebut terhubung. Sebelum v2.1.206, startup tidak menunggu server selesai terhubung, sehingga server yang lambat dimulai tetapi sehat juga menghasilkan kesalahan ini.

Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none

Daftar setelah Available MCP tools: menyebutkan tool MCP yang terhubung.

Yang perlu dilakukan:

  • Periksa bahwa server dimulai dan tetap terhubung: jalankan claude mcp list di direktori yang sama dan pastikan server tercantum sebagai terhubung
  • Pastikan nama tool cocok dengan nama mcp__<server>__<tool> yang disediakan server
  • Jika server memerlukan lebih dari 30 detik untuk dimulai, naikkan MCP_TIMEOUT

Port callback OAuth sudah digunakan

Ketika Anda masuk ke server MCP jarak jauh dengan OAuth, Claude Code memulai listener lokal untuk menerima callback proses masuk. Jika port yang diperlukan listener tersebut dipegang oleh proses lain, proses masuk gagal dengan pesan ini. Hal ini sebagian besar terjadi dengan port callback tetap yang diatur melalui variabel MCP_OAUTH_CALLBACK_PORT atau --callback-port, karena tanpa itu Claude Code memilih port yang tersedia.

OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.

Di Windows, perintah yang disarankan adalah netstat -ano | findstr :<port>.

Yang perlu dilakukan:

  • Jalankan perintah dari pesan untuk menemukan proses yang memegang port, dan hentikan proses tersebut atau tunggu hingga selesai
  • Jika program lain memerlukan port tersebut secara permanen, daftarkan URI redirect yang berbeda dengan server dan atur port-nya dengan MCP_OAUTH_CALLBACK_PORT atau --callback-port, mana pun yang Anda gunakan
  • Lalu mulai proses masuk lagi, misalnya dengan memilih server di /mcp

Tidak ada port yang tersedia untuk redirect OAuth

Ketika Anda masuk ke server MCP jarak jauh dengan OAuth, Claude Code memulai listener lokal untuk menerima callback proses masuk. Proses masuk gagal dengan pesan ini ketika Claude Code tidak dapat mengikat port lokal untuknya. Sesuatu di mesin mencegahnya mendengarkan di 127.0.0.1, misalnya perangkat lunak keamanan atau kebijakan sandbox yang menolak listener lokal.

No available ports for OAuth redirect

Sebelum v2.1.268, Claude Code tidak melakukan fallback ke port yang ditetapkan sistem operasi, sehingga pesan ini juga muncul ketika hanya port yang dipilih sendiri olehnya yang tidak dapat diikat. Hal itu dapat terjadi pada host Windows tempat Hyper-V mencadangkan rentang port yang mencakup port yang dipilih Claude Code.

Yang perlu dilakukan:

  • Periksa apakah perangkat lunak keamanan atau kebijakan sandbox memblokir proses dari mendengarkan di 127.0.0.1, dan izinkan Claude Code mengikat port lokal
  • Lalu mulai proses masuk lagi, misalnya dengan memilih server di /mcp

/security-review gagal tanpa origin/HEAD

/security-review membangun konteks review-nya dengan membuat diff branch Anda terhadap origin/HEAD, ref lokal yang mencatat branch mana yang menjadi default pada remote origin Anda. Ketika ref tersebut tidak ada, perintah git yang mengumpulkan diff gagal dan review berhenti sebelum dimulai.

Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]
fatal: ambiguous argument 'origin/HEAD...': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Pesan ini mungkin mengutip git log atau git diff yang berbeda. Git membuat origin/HEAD hanya ketika remote mengiklankan branch default dan refspec fetch Anda mencakupnya, yang dilakukan oleh git clone penuh dari remote yang memiliki commit. Ref tersebut tidak ada dalam pengaturan berikut:

  • Checkout single-branch atau CI, yang melakukan fetch dengan refspec yang terlalu sempit
  • Remote yang HEAD di sisi server-nya menunjuk ke branch yang tidak pernah di-push siapa pun
  • Repositori tanpa remote origin, atau yang tidak pernah Anda fetch

Claude Code menampilkan error yang sama untuk skill apa pun yang menyisipkan konteks dinamis, dan perintah sisipan yang gagal membatalkan pemanggilan skill tersebut.

String serupa muncul sebelum perintah dijalankan sama sekali:

  • Shell command permission check failed for pattern "...": pemeriksaan izin perintah tidak mengizinkannya. Pemeriksaan izin pada perintah sisipan menjelaskan hasil mana yang membatalkan di setiap mode izin dan cara menyetujui perintah terlebih dahulu dengan allowed-tools
  • Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found: frontmatter skill menuntut bash pada mesin yang tidak memilikinya. Instal Git for Windows atau ubah frontmatter menjadi shell: powershell. Lihat Cara perintah sisipan dijalankan

Yang perlu dilakukan:

  • Buat ref dengan menyebutkan branch default remote Anda: git remote set-head origin <default-branch>. Ini berfungsi setiap kali ref pelacakan lokal origin/<default-branch> ada. Jika tidak ada, seperti pada clone single-branch, fetch branch tersebut terlebih dahulu: jalankan git remote set-branches --add origin <branch>, lalu git fetch origin, lalu jalankan ulang perintah set-head. Jalankan ulang /security-review.
  • Jika Anda lebih memilih tidak menyebutkan branch, jalankan git fetch origin lalu git remote set-head origin --auto, yang menanyakan kepada remote branch mana yang menjadi default-nya. Perintah ini gagal dengan error: Cannot determine remote HEAD ketika remote tidak mengiklankan branch default, karena remote kosong atau HEAD-nya menunjuk ke branch yang tidak pernah di-push siapa pun; sebutkan branch secara eksplisit sebagai gantinya. Perintah ini gagal dengan error: Not a valid ref ketika clone Anda tidak melakukan fetch branch tersebut; perluas refspec seperti di atas terlebih dahulu.
  • Jika repositori tidak memiliki remote, tambahkan dengan git remote add origin <url> dan lakukan fetch sebelum membuat ref. Jika remote kosong, push branch Anda terlebih dahulu dengan git push -u origin HEAD dan sebutkan branch tersebut dalam perintah set-head; origin/HEAD kemudian menunjuk ke branch yang baru saja Anda push, sehingga /security-review melihat diff kosong hingga branch menyimpang darinya.

No shell command in a skill or command was run

No shell command in <name> was run berarti perintah konteks dinamis !`<command>` dalam file skill atau perintah tersebut memuat karakter yang ditolak oleh tool Bash atau PowerShell:

  • Kedua tool: karakter kontrol mentah selain tab atau baris baru
  • Tool PowerShell: juga U+FEFF atau U+180E

Pesan diakhiri dengan perintah yang ditolak, dengan setiap karakter yang ditolak ditampilkan sebagai �, seperti dalam contoh tool Bash ini:

No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.
build.sh --target�dist

Yang harus dilakukan:

  • Temukan setiap � dalam perintah yang dikutip di akhir pesan. Hapus karakter yang diwakilinya dari file skill atau perintah, atau dari argumen atau opsi yang disubstitusikan ke dalam file tersebut.

Input harus diberikan saat menggunakan --print

claude tanpa argumen memerlukan stdout berupa terminal untuk memulai UI interaktif. Ketika stdout dialihkan, atau konsol bukan terminal sungguhan, seperti PowerShell ISE dan beberapa panel output IDE, claude berjalan secara non-interaktif. Itu adalah mode yang sama dengan claude -p, yang memerlukan prompt, sehingga pesan menyebutkan --print bahkan ketika Anda tidak memberikan flag tersebut. Memberikan -p/--print tanpa prompt dan tanpa apa pun yang di-pipe ke stdin menghasilkan kesalahan yang sama di mana pun.

Error: Input must be provided either through stdin or as a prompt argument when using --print

Yang perlu dilakukan:

  • Untuk penggunaan interaktif, jalankan claude di terminal sungguhan: Windows Terminal atau konsol PowerShell alih-alih ISE, dan terminal terintegrasi IDE Anda alih-alih panel output
  • Untuk penggunaan sekali jalan, berikan prompt: claude -p "your question", atau pipe dengan echo "your question" | claude -p

Claude Code tidak dapat membaca keyboard di sini

Anda menjalankan claude tanpa -p, yang memulai sesi interaktif, tetapi input standarnya bukan terminal. Sesuatu melakukan pipe atau mengalihkannya, atau program yang meluncurkan claude menyediakan aliran inputnya sendiri.

Sesi interaktif memerlukan terminal untuk membaca ketikan Anda, dan apa yang dilakukan Claude Code tanpa terminal bergantung pada platform Anda:

  • Windows: Claude Code mencetak pesan ke stderr dan keluar dengan kode 1 alih-alih memulai antarmuka
  • macOS dan Linux: Claude Code membaca ketikan Anda dari /dev/tty dan memulai sesi, dengan teks yang di-pipe sebagai prompt pertama Anda. Anda melihat pesan ini ketika /dev/tty tidak dapat dibuka, dan baris pertamanya menyebutkan /dev/tty sebagai pengganti kata-kata untuk Windows.

Di Windows, pesannya berbunyi:

Claude Code can't read the keyboard here: stdin is not a terminal (it is piped, redirected, or supplied by the program that launched claude), and on Windows it can't fall back to the console for input yet.
Run claude directly in Windows Terminal, PowerShell, or Command Prompt, without piping or redirecting its input.
To send text as a prompt and print the reply instead, add -p; it also works with --continue and --resume <session-id> (for example: type notes.md | claude -p --continue).

Yang perlu dilakukan:

  • Untuk bekerja secara interaktif, jalankan claude langsung di terminal, tanpa melakukan pipe atau mengalihkan inputnya
  • Untuk mendapatkan balasan tanpa antarmuka interaktif, misalnya dari skrip, tambahkan -p dan berikan prompt sebagai argumen atau melalui stdin, seperti claude -p "your question" atau echo "your question" | claude -p. Hal yang sama berlaku dengan --continue dan --resume <session-id>.

Sebelum v2.1.287, Claude Code memulai antarmuka alih-alih mencetak pesan ini, lalu tidak menampilkan apa pun di layar atau gagal dengan kesalahan yang berisi Raw mode is not supported.

Jika Anda melihat Raw mode is not supported selama claude install, lihat Raw mode is not supported selama instalasi.

Input hanya berisi whitespace

Dalam mode non-interaktif, Claude Code menolak prompt yang seluruhnya terdiri dari spasi, tab, atau baris baru alih-alih mengirimkannya, karena API menolak pesan tanpa teks yang terlihat. Pesan yang Anda lihat bergantung pada asal prompt kosong tersebut:

  • Argumen prompt atau stdin yang di-pipe untuk claude -p: claude keluar dengan Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print
  • Pesan yang dikirimkan ke sesi --input-format stream-json atau Agent SDK yang sedang berjalan: Claude Code mengakhiri giliran tanpa memanggil model dan sesi tetap dapat digunakan. Penolakan tiba sebagai pesan informasi dan sebagai teks hasil giliran: Blank prompt — the message was only whitespace, so nothing was sent to the model.

Sebelum v2.1.229, Claude Code mengirimkan pesan yang hanya berisi whitespace ke API, yang menolak permintaan dengan kesalahan 400.

Yang perlu dilakukan:

  • Sertakan teks yang terlihat dalam prompt. Jika skrip membangun prompt dari variabel atau file, periksa bahwa sumbernya tidak kosong sebelum memanggil Claude Code.

Input stream-json membawa lebih dari 256M karakter tanpa baris baru

Program Anda mengirimkan lebih dari 268.435.456 karakter di stdin tanpa baris baru ke run claude -p --input-format stream-json, sehingga Claude Code mencetak kesalahan ini ke stderr dan keluar dengan kode 1 alih-alih menampung lebih banyak input. Pesan menyatakan batas tersebut sebagai 256M. Sebelum v2.1.257, Claude Code menampung input semacam itu tanpa batas, membuat memori bertambah hingga proses crash atau dihentikan.

Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.

Input sepanjang ini tanpa baris baru biasanya berarti produsernya sama sekali bukan produsen stream-json, seperti file biner atau output log biasa yang tidak sengaja di-pipe. Satu pesan yang melebihi batas gagal dalam pemeriksaan yang sama.

Yang perlu dilakukan:

  • Periksa apa yang di-pipe ke stdin. Dengan --input-format stream-json, setiap pesan harus berupa satu baris JSON yang diakhiri baris baru
  • Untuk mengirimkan teks biasa, hapus --input-format stream-json; claude -p membaca prompt teks biasa dari stdin secara default

Unknown command

Dalam sesi terminal interaktif, Anda mengirimkan nama / yang tidak cocok dengan perintah apa pun dalam sesi ini, sehingga Claude Code melaporkan nama tersebut alih-alih menjalankan apa pun:

Unknown command: /hepl. Did you mean /help?

Claude Code menyarankan nama perintah atau alias terdekat yang dicantumkan menu dalam sesi ini. Ketika tidak ada yang mendekati, pesan berakhir setelah nama tersebut. Penyebabnya biasanya salah satu dari berikut:

Claude Code menjawab nama / yang tidak cocok dengan cara ini hanya dalam sesi terminal interaktif. Dalam setiap sesi lainnya, Claude Code mengirimkan prompt ke Claude sebagai pesan biasa, dengan catatan bahwa perintah tidak dijalankan dan daftar perintah yang dapat dijalankan Claude dalam sesi tersebut. Sesi tersebut meliputi:

Untuk perintah bawaan yang tidak dapat dijalankan di salah satu sesi tersebut, Claude Code tetap menjawab bahwa perintah tersebut tidak tersedia alih-alih mengirimkannya ke Claude. Sebelum v2.1.274, hanya sesi cloud dan tugas terjadwal cloud yang mengirimkan nama yang tidak cocok ke Claude. Sebelum v2.1.273, keduanya juga menjawab Unknown command.

Claude Code tidak memperlakukan setiap prompt yang diawali dengan / sebagai perintah. Claude Code mengirimkan prompt ke Claude sebagai pesan biasa ketika kata pertama setelah / diawali dengan tanda baca, seperti /-- yang membuka komentar dokumentasi Lean, atau merupakan path seperti /var/log/syslog.

Sebelum v2.1.236, jika Anda menekan Enter saat menu perintah mencantumkan kecocokan terdekat untuk nama yang Anda ketik, Claude Code menjalankan kecocokan tersebut, sehingga salah ketik seperti /hepl menjalankan /help alih-alih menghasilkan pesan ini.

Yang perlu dilakukan:

  • Jalankan nama yang disarankan, atau ketik / diikuti sebagian nama untuk melihat apa yang tersedia dalam sesi ini
  • Jika Claude Code melaporkan perintah yang terdokumentasi sebagai tidak dikenal, periksa barisnya di referensi perintah untuk persyaratan yang disebutkannya

Diff terlalu besar untuk ultrareview

Diff antara branch Anda dan branch dasar, termasuk perubahan yang belum di-commit dan yang di-stage, melebihi batas ukuran untuk ultrareview, sehingga /code-review ultra dan subperintah claude ultrareview menolak review sebelum sesi cloud dimulai. Review yang ditolak tidak menggunakan run gratis dan tidak menagih kredit penggunaan. Pesan menyebutkan batas yang berlaku, ukuran diff Anda, dan file yang paling banyak menyumbang baris yang diubah. Sebelum v2.1.216, pesan hanya menampilkan statistik diff mentah.

Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.

Me-review pull request menerapkan batas yang sama; bentuk pesan tersebut diawali dengan PR #<N> is too large for ultrareview dan menyebutkan jumlah file dan baris PR.

Yang perlu dilakukan:

  • Berikan branch dasar yang lebih dekat dengan pekerjaan Anda, seperti /code-review ultra develop, sehingga review hanya mencakup diff terhadap branch tersebut
  • Pecah perubahan menjadi branch yang lebih kecil dan review masing-masing. File yang disebutkan pesan menyumbang baris yang diubah paling banyak, jadi mulailah dengan memindahkannya ke branch tersendiri.

Tidak dapat menemukan merge-base dengan branch dasar

/code-review ultra dan subperintah claude ultrareview me-review diff antara branch Anda dan branch dasar, yang memerlukan commit yang dimiliki bersama oleh keduanya. Ketika git merge-base tidak menemukannya, Claude Code menolak review sebelum sesi cloud dimulai. Pada clone yang dapat diverifikasi Claude Code sebagai lengkap, dengan setidaknya satu branch, Claude Code melakukan fallback ke me-review setiap file yang dilacak alih-alih menolak. Anda melihat penolakan ini ketika branch dasar sama sekali tidak dapat ditemukan, ketika Claude Code tidak dapat memverifikasi bahwa clone Anda lengkap, atau pada repositori langka tempat diff seluruh tree tidak dimungkinkan, seperti format objek SHA-256.

Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.

Petunjuk setelah kalimat pertama bergantung pada apa yang diamati Claude Code:

  • Anda tidak memberikan branch dasar: Claude Code membandingkan dengan branch default repositori dan menyarankan untuk memberikan branch dasar Anda secara eksplisit, seperti pada contoh di atas
  • Anda memberikan branch dasar yang sudah ada di clone Anda: petunjuknya berbunyi Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)
  • Anda memberikan branch dasar yang tidak ada di clone Anda: Claude Code mengambilnya dari origin sebelum membandingkan. Petunjuknya berbunyi <branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`); ketika Claude Code tidak dapat mengetahui apakah clone Anda dangkal (shallow), Claude Code menyarankan git fetch --unshallow origin sebagai gantinya. Sebelum v2.1.221, petunjuk menyarankan git fetch --unshallow origin untuk setiap branch dasar yang diambil, dan pada clone yang lengkap perintah tersebut gagal dengan fatal: --unshallow on a complete repository does not make sense.

Yang perlu dilakukan:

  • Jika branch lain adalah branch dasar Anda yang sebenarnya, berikan secara eksplisit: /code-review ultra <branch>
  • Jika clone Anda mungkin tidak memiliki riwayat lengkap, jalankan git fetch --unshallow origin dan jalankan ulang review

Checkout Anda tidak memiliki branch

Checkout dapat memiliki commit tetapi tidak memiliki branch: jika Anda menjalankan git init diikuti dengan git fetch <url> dan git checkout FETCH_HEAD, Anda mendapatkan HEAD terlepas tanpa ref. Claude Code mengemas repositori Anda sebagai git bundle untuk mengunggahnya untuk ultrareview, dan tidak dapat mem-bundle repositori yang tidak memiliki branch atau ref lain, sehingga /code-review ultra dan subperintah claude ultrareview menolak review sebelum sesi cloud dimulai.

Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.

Sebelum v2.1.221, Claude Code mencoba me-review setiap file yang dilacak dalam checkout ini, dan unggahan gagal.

Yang perlu dilakukan:

  • Buat branch pada commit Anda saat ini dengan git checkout -b <name>, lalu jalankan ulang review

Tidak ada akun GitHub yang terhubung ke akun Claude Anda

Anda menjalankan /code-review ultra <PR#> atau claude ultrareview <PR#>, dan sebelum membuat sesi cloud, Claude Code menanyakan kepada server apakah akun GitHub yang terhubung ke akun Claude Anda dapat menjangkau repositori PR. Tidak ada akun yang terhubung, atau koneksinya kedaluwarsa, sehingga clone di cloud akan gagal dan Claude Code menolak peluncuran. Claude Code tidak menggunakan run gratis atau menagih kredit penggunaan untuk peluncuran yang ditolak.

Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).

Ketika /web-setup tidak tersedia dalam sesi Anda, pesan hanya menyebutkan tautan claude.ai.

Yang perlu dilakukan:

  • Jalankan /web-setup untuk menghubungkan login GitHub CLI Anda ke akun Claude Anda, atau hubungkan akun di claude.ai/connect-github
  • Jalankan ulang review satu menit setelah menghubungkan

Sebelum v2.1.248, Claude Code tidak memeriksa hal ini sebelum peluncuran.

Akun GitHub yang terhubung tidak dapat melihat repositori

Anda menjalankan /code-review ultra <PR#> atau claude ultrareview <PR#>, dan akun GitHub yang terhubung ke akun Claude Anda tidak dapat membaca repositori PR, sehingga clone di cloud akan gagal dan Claude Code menolak peluncuran. Claude Code tidak menggunakan run gratis atau menagih kredit penggunaan untuk peluncuran yang ditolak.

Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.

Ketika /web-setup tidak tersedia dalam sesi Anda, pesan hanya menyebutkan instalasi aplikasi.

Yang perlu dilakukan:

  • Jika CLI gh lokal Anda dapat membaca repositori, jalankan /web-setup untuk menghubungkan login tersebut ke akun Claude Anda
  • Jalankan ulang review setelah perubahan

Sebelum v2.1.248, Claude Code tidak memeriksa hal ini sebelum peluncuran.

Preflight GitHub App gagal sementara

Anda memulai sesi cloud dari repositori lokal, dan dua langkah gagal bersamaan. Claude Code tidak dapat mem-build atau mengunggah bundle repositori Anda. Sebelum pengunggahan, Claude Code memeriksa apakah layanan cloud dapat melakukan clone repositori dari GitHub, dan alih-alih jawaban pasti, pemeriksaan tersebut berakhir dengan kesalahan yang dapat diatasi dengan retry, seperti kesalahan jaringan, timeout, atau kesalahan server sementara. Pesan lengkap diawali dengan apa yang menghentikan bundle, misalnya Could not upload repo bundle (<error>), dan diakhiri dengan kalimat preflight:

Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead

Yang perlu dilakukan:

  • Jalankan ulang perintah setelah beberapa saat. Ketika pemeriksaan GitHub berhasil, Claude Code dapat memulai sesi dari clone GitHub, sehingga unggahan yang gagal tidak lagi memblokir peluncuran
  • Jika retry terus gagal, awal pesan menyebutkan apa yang menghentikan unggahan. Ketika penyebab tersebut dapat Anda perbaiki, perbaiki agar sesi dapat dimulai dari repositori lokal Anda

Sebelum v2.1.251, Claude Code mengakhiri pesan dengan Please set up GitHub on https://claude.ai/code bahkan ketika pemeriksaan GitHub hanya gagal sementara, dan saran penyiapan tidak dapat mengatasi kegagalan sementara.

Unggahan repositori tidak dapat mengikuti pengaturan git

Anda memulai sesi cloud yang mengunggah repositori lokal Anda, atau ultrareview dari suatu branch, dan unggahan tidak dapat mengikuti salah satu pengaturan git yang menentukan aturan atribut mana yang berlaku untuk file Anda. Jika unggahan tetap dilanjutkan dan melewatkan suatu aturan, file yang diubah git sebelum menyimpannya, seperti file yang dienkripsi oleh clean filter, dapat sampai ke cloud dalam keadaan seperti di disk. Claude Code menolak unggahan, dan tidak ada yang diunggah:

Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry.

Pesan menyebutkan pengaturan dan tempat pengaturan tersebut diatur, dan diakhiri dengan perbaikan untuk kasus yang Anda alami. Penolakan yang sama muncul untuk core.attributesFile dan attr.tree, masing-masing dengan perbaikannya sendiri.

Pesan dapat menyebutkan file konfigurasi yang ditarik konfigurasi git Anda melalui direktif include atau includeIf, bahkan ketika kondisi direktif tersebut tidak berlaku untuk repositori ini.

Yang perlu dilakukan:

  • Terapkan perbaikan pada kalimat terakhir pesan

GitHub tidak terhubung ke akun Claude Anda

Anda memulai sesi cloud dari repositori lokal Anda, misalnya dengan /autofix-pr. Tidak ada akun GitHub yang terhubung ke akun Claude Anda, atau koneksinya kedaluwarsa, sehingga Claude Code menolak peluncuran:

GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github

Ketika Anda membuat tugas terjadwal cloud dengan /schedule, pesan yang sama muncul sebagai catatan penyiapan yang menyebutkan repositori; catatan tersebut tidak menghalangi pembuatan tugas.

Yang perlu dilakukan:

  • Jalankan /web-setup untuk menghubungkan login GitHub CLI Anda ke akun Claude Anda, atau hubungkan akun di claude.ai/connect-github. Lihat Opsi autentikasi GitHub untuk perbedaan keduanya.
  • Jalankan ulang perintah satu menit setelah menghubungkan

Sebelum v2.1.268, Claude Code melaporkan hal ini sebagai kegagalan sementara pemeriksaan Claude GitHub App dan menyarankan untuk mencoba ulang atau menginstal aplikasi; tidak satu pun dari keduanya menghubungkan akun GitHub.

Kebijakan organisasi GitHub memblokir Claude

Anda menjalankan perintah di prompt Claude Code yang memulai sesi cloud, seperti /autofix-pr. Sebelum membuat sesi, Claude Code memeriksa akses Claude ke repositori di GitHub, dan GitHub menolak karena organisasi GitHub Anda memiliki kebijakan yang memblokir Claude. Claude Code berhenti di situ dan menampilkan pesan yang menyebutkan kebijakan tersebut.

Jika yang memblokir akses adalah IP allow list, pesannya berbunyi:

Your GitHub organization has an IP allowlist that is blocking Claude. Add Claude's IP ranges to your GitHub allowlist.

Jika yang memblokirnya adalah single sign-on, pesannya berbunyi:

Your GitHub organization requires single sign-on. Disconnect and reconnect GitHub on the Connectors page in Claude on the web, click Authorize next to your organization when GitHub asks, then try again.

Jika yang memblokirnya adalah kebijakan Conditional Access Microsoft Entra ID, pesannya berbunyi:

Your GitHub organization's identity provider (Microsoft Entra ID) has a Conditional Access policy that is blocking Claude. Ask your GitHub Enterprise or Entra ID admin to allow Claude in that policy.

Yang perlu dilakukan:

  • IP allow list: minta pemilik organisasi atau enterprise GitHub Anda untuk mengizinkan alamat IP keluar Anthropic. Lihat Allow list dan firewall GitHub untuk alamat dan pengaturan GitHub yang perlu diubah.
  • Single sign-on: putuskan koneksi GitHub di claude.ai/customize/connectors, lalu hubungkan kembali. Saat GitHub meminta, klik Authorize di samping organisasi Anda agar koneksi baru diotorisasi untuk single sign-on-nya.
  • Kebijakan Conditional Access: minta admin GitHub Enterprise atau Microsoft Entra ID Anda untuk mengizinkan Claude dalam kebijakan tersebut
  • Setelah perubahan, jalankan perintah itu lagi

Otorisasi single sign-on diperlukan

Anda menjalankan /install-github-app dan memilih repositori yang organisasinya menerapkan SAML single sign-on. Sebelum penyiapan, Claude Code memeriksa akses Anda ke repositori dengan GitHub CLI, dan GitHub menolak pemeriksaan tersebut karena token gh Anda belum diotorisasi untuk organisasi tersebut. Wizard menampilkan peringatan beserta langkah-langkah untuk mengotorisasi:

Single sign-on authorization needed
<owner>/<repo> belongs to an organization that enforces SAML single sign-on, and your GitHub CLI token isn't authorized for it yet.

Yang perlu dilakukan:

  • Otorisasi ulang login GitHub CLI Anda dengan scope repo dan workflow dengan menjalankan gh auth refresh -h github.com -s repo,workflow, lalu otorisasi organisasi saat GitHub meminta single sign-on
  • Jika Anda mengautentikasi dengan personal access token di GH_TOKEN, buka github.com/settings/tokens, pilih Configure SSO pada token tersebut, lalu otorisasi organisasi
  • Jalankan /install-github-app lagi

Sebelum v2.1.273, Claude Code menampilkan peringatan Admin permissions required untuk kondisi ini.

Gagal melanjutkan percakapan

Claude Code tidak dapat membaca atau memproses transkrip tersimpan untuk sesi yang Anda pilih dari pemilih claude --resume, sehingga ia mengakhiri proses alih-alih melanjutkan dalam keadaan termuat sebagian. Pesan tersebut menyertakan perintah untuk mencoba ulang:

Failed to resume the conversation.
Run claude --resume <session-id> to retry, or claude to start a new session.

Claude Code keluar dengan kode 1 setelah menampilkan pesan tersebut. Pemilih /resume di dalam sesi yang sedang berjalan melaporkan Failed to resume conversation di dalam percakapan, dan sesi Anda saat ini tetap berjalan. Sebelum v2.1.216, kegagalan melanjutkan dari pemilih claude --resume tetap berada di spinner Resuming conversation… tanpa batas waktu alih-alih menampilkan pesan ini.

Yang perlu dilakukan:

  • Jalankan claude --resume <session-id> dengan ID sesi dari pesan tersebut untuk mencoba ulang
  • Pada versi sebelum v2.1.285, jika percobaan ulang gagal dengan cara yang sama, jalankan claude update lalu lanjutkan lagi. Versi-versi tersebut gagal melanjutkan ketika transkrip tersimpan berisi entri yang tidak dapat dibacanya.
  • Jika percobaan ulang gagal lagi, jalankan claude untuk memulai sesi baru

Tidak ada percakapan yang ditemukan dengan ID sesi

Anda meneruskan ID sesi ke claude --resume <session-id> dan tidak ada transkrip tersimpan yang cocok dengannya:

No conversation found with session ID: <session-id>

Claude Code keluar dengan kode 1 setelah menampilkan pesan tersebut. Claude Code mencari ID tersebut di proyek saat ini terlebih dahulu, lalu di setiap proyek lain di mesin ini. Sebelum v2.1.223, pencarian berhenti di direktori proyek saat ini dan git worktree-nya, jadi lanjutkan sesi dari direktori tempat sesi terakhir bekerja.

Penyebab umum:

  • Salah ketik ID: untuk eksekusi non-interaktif, ID adalah field session_id dari output --output-format json
  • Transkrip terhapus: Claude Code menghapus transkrip setelah periode retensi, 30 hari secara default, mengikuti aturan pembersihan retensi
  • Mesin berbeda: Claude Code menyimpan transkrip secara lokal, jadi lanjutkan sesi di mesin tempat sesi tersebut dijalankan
  • Salinan duplikat: jika Anda menyalin direktori proyek di bawah ~/.claude/projects sehingga dua transkrip memiliki ID yang sama, Claude Code melaporkan pesan ini alih-alih melanjutkan salah satu salinan secara sembarang

Yang perlu dilakukan:

  • Untuk sesi interaktif, buka pemilih sesi dengan claude --resume dan tekan Ctrl+A untuk memperluasnya ke setiap proyek di mesin ini, lalu pilih sesinya
  • Sesi yang dibuat dengan claude -p atau Agent SDK tidak muncul di pemilih, jadi periksa kembali ID tersebut terhadap session_id yang dicetak oleh eksekusi awal Anda

Windows melaporkan kesalahan (EBADF) saat Claude Code membaca file transkrip sesi ini

Anda melanjutkan sesi di Windows, file transkrip tersimpannya terbuka secara normal, lalu pembacaannya gagal dengan kesalahan sistem EBADF. Kesalahan sistem tidak menyebutkan alasan pembacaan gagal, sehingga pesan tersebut menyarankan kemungkinan penyebab dan hal yang dapat dicoba:

Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.

Pesan tersebut muncul setelah baris kegagalan perintah itu sendiri, seperti Failed to resume session <session-id>. Perintah claude --resume atau claude -p keluar dengan kode 1 setelah menampilkannya. Setelah /resume di dalam sesi, sesi Anda saat ini tetap berjalan.

Yang perlu dilakukan:

  • Kecualikan folder yang menyimpan transkrip sesi Anda dari perangkat lunak yang memindai atau mencegat pembacaan file, seperti alat keamanan, enkripsi, atau manajemen endpoint. Transkrip berada di %USERPROFILE%\.claude\projects secara default, atau di direktori yang disebutkan oleh CLAUDE_CONFIG_DIR
  • Jika Anda tidak dapat menambahkan pengecualian, tambahkan Claude Code ke daftar aplikasi yang diizinkan oleh perangkat lunak tersebut
  • Lanjutkan sesi lagi

Sebelum v2.1.282, kegagalan muncul tanpa penjelasan: claude --resume <session-id> berakhir di Failed to resume session <session-id>, dan eksekusi -p hanya mencetak teks kesalahan sistem, seperti Failed to resume session: EBADF: bad file descriptor, read.

Tidak dapat beralih renderer dalam sesi ini

Saat Anda beralih renderer, Claude Code memulai ulang prosesnya. Anda menjalankan /tui dalam sesi yang ditolak untuk dimulai ulang oleh Claude Code, sehingga ia tidak beralih dan tidak menyimpan apa pun. Pesan yang Anda lihat menunjukkan penyebabnya:

  • Cannot switch renderers while work is running in the background: Anda memiliki pekerjaan latar belakang yang sedang berjalan yang akan ditinggalkan oleh mulai ulang, seperti shell latar belakang atau subagent. Tunggu hingga pekerjaan selesai atau hentikan dengan /tasks, lalu jalankan /tui fullscreen atau /tui default lagi
  • Cannot switch renderers in this session: sesi memiliki batasan yang tidak dapat diteruskan Claude Code ke proses yang dimulai ulang. Sebelum v2.1.234, Claude Code tetap memulai ulang dan sesi yang diluncurkan kembali berjalan tanpa batasan tersebut

Dalam pesan batasan, bagian di dalam tanda kurung menyebutkan batasan yang ditemukan Claude Code:

Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.

Setiap alasan yang dapat ditampilkan pesan di dalam tanda kurung:

  • launch flags: a custom system prompt, a tool allowlist, or restricted settings: Anda memulai sesi dengan flag yang tidak diteruskan kembali oleh Claude Code ke proses yang dimulai ulang. Flag ini mencakup --system-prompt, --system-prompt-file, --append-system-prompt-file, allowlist --tools, --setting-sources, dan --permission-prompt-tool
  • permission rules set for this session only: sebuah pembaruan izin dari hook atau pemanggil SDK menambahkan aturan deny atau ask dengan tujuan session. Aturan allow yang dibatasi ke sesi tidak memicu penolakan. Mulai ulang akan menghapusnya, dan Claude Code akan meminta izin lagi
  • ask-before-running rules with no command-line form: pembaruan izin dari hook atau pemanggil SDK menambahkan aturan ask di samping aturan yang diteruskan kembali oleh Claude Code sebagai --allowed-tools dan --disallowed-tools. Tidak ada flag untuk aturan ask
  • permission rules a command line cannot carry intact dan added directories a command line cannot carry intact: pembaruan izin menambahkan aturan atau path direktori di tengah sesi. Baris perintah proses yang dimulai ulang tidak dapat membawa teksnya sebagai nilai yang sama

Yang perlu dilakukan:

  • Dalam sesi yang dimulai tanpa batasan tersebut, jalankan /tui fullscreen, atau /tui default untuk beralih kembali. Claude Code menyimpan pengaturan tui di sana

Can't restart while work is running or Remote Control is connected

Claude Code tidak memulai ulang, dan sesi Anda tetap berjalan seperti sebelumnya. Ikuti perbaikan yang ada di pesan.

Claude Code couldn't restart

Jika pesan ini menyatakan bahwa percakapan Anda tersimpan, percakapan tersebut ada di disk dan Anda dapat melanjutkannya dari titik berhentinya. Claude Code sedang memulai ulang dirinya sendiri, misalnya untuk beralih ke atau dari rendering fullscreen setelah Anda menjalankan /tui, dan tidak dapat memulai proses baru, sehingga keluar dengan status 1:

Claude Code couldn't restart. Your conversation is saved. Start Claude Code again and run /resume to pick it up.

Jika proses mulai ulang tidak memiliki percakapan untuk dibuka kembali, misalnya karena /tui adalah input pertama Anda di sesi baru, pesannya berbunyi Claude Code couldn't restart. Start Claude Code again.

Yang perlu dilakukan:

  • Jalankan claude lagi di shell Anda. Jika pesan menyatakan bahwa percakapan Anda tersimpan, jalankan /resume di sesi baru dan pilih percakapannya. Jika tidak ada di daftar, perluas picker sesi
  • Jika proses mulai ulang terus gagal, mulai Claude Code dari shell Anda dengan claude --debug-file claude-debug.log. Jika mulai ulang dari sesi tersebut gagal, claude-debug.log di direktori tempat Anda memulai mencatat baris Failed to relaunch: dengan error dari sistem operasi. Sertakan baris tersebut saat Anda melaporkan masalahnya

Tidak dapat membuka Claude Desktop

Anda menjalankan /desktop atau aliasnya /app dalam sesi, atau claude --desktop di shell Anda, dan perintah sistem yang digunakan Claude Code untuk membuka Claude Desktop gagal. Setelah /desktop, sesi tetap berada di terminal; claude --desktop mencetak pesan tanpa awalan Error: dan keluar dengan status 1.

Teks di dalam tanda kurung menyebutkan perintah yang gagal, beserta status keluarnya dan baris pertama output kesalahannya jika perintah tersebut menghasilkannya. Di macOS perintah tersebut adalah open, seperti dalam contoh ini; di Windows perintahnya adalah rundll32:

Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.

Yang perlu dilakukan:

  • Buka Claude Desktop sendiri, lalu jalankan /desktop atau claude --desktop lagi
  • Untuk membaca output kesalahan lengkap dari perintah yang gagal, aktifkan logging debug dengan /debug lalu jalankan /desktop lagi, atau jalankan claude --desktop --debug-file <path>, lalu periksa log debug

Sebelum v2.1.285, pesan tersebut diakhiri dengan Open Claude Desktop and run /desktop again. Sebelum v2.1.275, pesannya adalah Failed to open Claude Desktop. Please try opening it manually. dan tidak menyebutkan apa yang gagal.

/terminal-setup membiarkan keymap Zed Anda tidak berubah

Anda menjalankan /terminal-setup di Zed, dan Claude Code tidak dapat menyelesaikan pembaruan pada keymap.json Zed Anda, sehingga file tersebut dibiarkan seperti semula.

Setiap pesan menyebutkan path ke keymap Anda dan diakhiri dengan blok pintasan keyboard untuk Anda tambahkan sendiri:

Couldn't update your Zed keymap, so it was left unchanged.
To add the binding yourself, add this block to the keymap array in <path to keymap.json>:
{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }

Baris pertama pesan menyebutkan penyebabnya:

  • Couldn't read your Zed keymap, so it was left unchanged.: Claude Code tidak dapat membaca file tersebut, misalnya karena hak akses file
  • Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.: file terbaca dengan baik tetapi tidak dapat di-parse sebagai array blok pintasan keyboard, bahkan dengan komentar // dan koma di akhir yang diizinkan
  • Couldn't back up your Zed keymap; not modifying it.: Claude Code tidak dapat menyalin file ke cadangan .bak di sebelahnya, sehingga tidak mengubah apa pun
  • Couldn't update your Zed keymap, so it was left unchanged.: hasil penggabungan tidak terverifikasi sebagai keymap valid yang memuat pintasan tersebut, sehingga Claude Code membuangnya alih-alih menulisnya. Blok pintasan keyboard dengan kunci duplikat dapat menyebabkan hal ini

Yang perlu dilakukan:

  • Salin blok dari pesan ke dalam array tingkat atas di keymap.json Anda pada path yang disebutkan pesan
  • Untuk isn't a readable list of keybindings, perbaiki kesalahan sintaksis, atau jadikan nilai tingkat atas file sebagai array, lalu jalankan /terminal-setup lagi

Sebelum v2.1.247, /terminal-setup tidak dapat mem-parse keymap Zed yang menggunakan komentar // atau koma di akhir, dan mengganti seluruh file hanya dengan pintasannya sendiri sambil melaporkan pintasan tersebut sebagai terpasang. Untuk memulihkan keymap yang diganti oleh versi sebelumnya, gunakan file cadangan .bak yang dijelaskan di Memasukkan prompt multibaris.

Laporan penggunaan skill tidak tersedia pada koneksi ini

Anda menjalankan /skill-doctor melalui Remote Control, dari ponsel atau browser Anda. Claude Code tidak mengirim laporan penggunaan skill melalui Remote Control dan membalas dengan pesan ini:

Skill usage reports are not available on this connection.

Yang perlu dilakukan:

  • Jalankan /skill-doctor di terminal pada mesin tempat sesi berjalan, atau jalankan claude -p "/skill-doctor" di sana

Gaya output kustom tidak dapat dipilih melalui Remote Control

Anda menjalankan /output-style dari aplikasi seluler atau web melalui Remote Control, atau perintah tersebut tiba dalam pesan yang diteruskan ke dalam sesi. Karena giliran seperti itu mungkin tidak berasal dari pemilik akun, Claude Code hanya mencantumkan dan memilih gaya bawaan pada giliran tersebut, dan menambahkan pemberitahuan ini setiap kali perintah mencantumkan gaya atau tidak mengenali nama yang Anda berikan. Nama gaya kustom mendapat balasan yang sama dengan nama yang tidak ada:

Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.

Yang perlu dilakukan:

  • Pilih gaya bawaan, misalnya /output-style concise
  • Untuk menggunakan gaya kustom, atur outputStyle di .claude/settings.local.json proyek, atau jalankan /output-style <style> di terminal sesi itu sendiri jika ada

Gaya output disimpan ke pengaturan lokal yang tidak dimuat oleh sesi ini

Anda mencoba beralih gaya output dengan /output-style <style> atau /config outputStyle=<style> dalam sesi yang sumber pengaturannya tidak menyertakan local. Contohnya adalah sesi Agent SDK yang settingSources-nya tidak menyertakan "local" dan sesi CLI yang dimulai dengan nilai --setting-sources yang tidak menyertakan local. Kedua perintah menyimpan gaya ke .claude/settings.local.json, file yang tidak pernah dibaca kembali oleh sesi seperti itu, sehingga Claude Code menolak alih-alih menulis pengaturan yang tidak akan berpengaruh:

Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.

Yang perlu dilakukan:

  • Tambahkan local ke sumber pengaturan sesi lalu beralih lagi
  • Atur kunci outputStyle di file pengaturan yang dimuat oleh sesi, seperti .claude/settings.json di proyek atau ~/.claude/settings.json. Di TypeScript SDK, atur outputStyle di dalam objek settings inline; lihat Mengaktifkan gaya output

/recap hanya berjalan saat Anda sendiri yang memintanya

Permintaan /recap tidak berasal dari input Anda sendiri. Permintaan tersebut tiba dalam pesan yang diteruskan ke sesi dari thread Slack, Teams, atau proyek, atau dalam prompt yang dikirim oleh tugas terjadwal cloud atau program lain.

Pesan yang diteruskan tetap mendapat pemberitahuan ini meskipun Anda sendiri yang menulisnya. Claude Code tidak dapat memastikan bahwa pesan yang diteruskan atau otomatis berasal dari orang yang akunnya menjalankan sesi, sehingga ia menjawab dengan pemberitahuan ini alih-alih ringkasan:

/recap only runs when you ask for it yourself in this session: from the terminal, the Claude app or claude.ai/code, or over Remote Control. A message relayed from Slack, Teams or a project thread, or sent by a routine or another program, can't request it.

/recap yang Anda teruskan ke claude -p, atau yang dikirim oleh aplikasi Agent SDK Anda sendiri ke sesi yang diluncurkannya, dihitung sebagai input Anda sendiri.

Yang perlu dilakukan:

/feedback is disabled by your organization's policy

Pesan ini berarti umpan balik produk dinonaktifkan, sehingga perintah yang Anda ketik tidak membuka dialog umpan balik. Kebijakan organisasi dan penolakan sebelumnya sama-sama menghasilkan pesan ini:

  • Kebijakan organisasi: kebijakan organisasi Anda tidak mengizinkan umpan balik produk dari Claude Code. /feedback, /bug, dan /share semuanya menjawab dengan pesan ini.
  • Penolakan sebelumnya: layanan umpan balik menolak laporan yang Anda kirim, misalnya dengan Couldn't send feedback: Feedback has not been enabled for your organization. /feedback dan /bug kemudian dapat menjawab dengan pesan ini. Hal ini berlaku selama tujuh hari sejak penolakan tersebut di mesin ini. Ini berlaku di setiap paket, termasuk Pro dan Max.

Pesan menyebutkan perintah yang Anda ketik di prompt Claude Code:

/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.

Pesan tersebut juga dapat berupa kalimat pertamanya saja.

Yang harus dilakukan:

  • Untuk melaporkan bug, buka issue di github.com/anthropics/claude-code/issues. Siapa pun dapat membaca issue di sana, jadi jangan sertakan kode, transkrip, dan apa pun yang bersifat rahasia.
  • Setelah penolakan sebelumnya, tunggu hingga tujuh hari berlalu, lalu kirim laporan lagi untuk melihat apakah layanan masih menolaknya

Sebelum v2.1.319, penolakan sebelumnya tidak menghasilkan pesan ini.

Sebelum v2.1.302, pesan lengkapnya berbunyi /feedback is disabled by your organization's policy. Contact your organization admin to enable it.

Error plugin

Error ini berasal dari konfigurasi plugin dan marketplace. Untuk masalah plugin yang tidak menghasilkan salah satu pesan di halaman ini, seperti URL marketplace yang tidak termuat atau plugin yang terinstal tetapi tidak muncul, lihat Pemecahan masalah plugin.

plugin eval is currently in early access

Anda menjalankan claude plugin eval atau claude plugin eval init dan perintah tersebut keluar dengan kode 1 dengan salah satu pesan berikut sebelum melakukan apa pun:

`plugin eval` is currently in early access
`plugin eval` is currently unavailable

Pesan pertama berarti build Anda lebih lama dari v2.1.269, versi pertama tempat perintah ini tersedia secara umum. Pesan kedua berarti Anthropic telah menonaktifkan perintah ini di sisi server; tidak ada apa pun di mesin Anda yang dapat mengaktifkannya kembali.

Yang harus dilakukan:

  • Jalankan claude --version, lalu claude update, dan jalankan perintah tersebut lagi di sesi baru. Lihat persyaratan untuk plugin eval
  • Jika Anda melihat pesan kedua pada build terkini, coba lagi nanti setelah menjalankan claude update sekali lagi

Marketplace terdaftar dari sumber yang tidak tepercaya

Marketplace terdaftar dengan nama yang dicadangkan untuk marketplace resmi Anthropic, tetapi sumber terdaftarnya bukan repositori GitHub anthropics. Claude Code memeriksa ulang nama yang dicadangkan setiap kali memuat atau menyegarkan marketplace, sehingga marketplace dan plugin yang diinstal darinya berhenti dimuat. Sebelum v2.1.205, entri yang didaftarkan sebelum namanya dicadangkan tetap dimuat.

Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.

Untuk marketplace yang sumbernya bukan repositori GitHub maupun URL Git, seperti direktori lokal, kalimat tengahnya berbunyi can only be used with GitHub sources from the 'anthropics' organization. claude plugin marketplace add menjalankan pemeriksaan yang sama, dan menolak nama yang dicadangkan dengan Failed to add marketplace: diikuti kalimat nama-yang-dicadangkan yang sama.

Yang harus dilakukan:

  • Jika marketplace sudah terdaftar, jalankan claude plugin marketplace remove <name>, lalu tambahkan lagi dari repositori resmi github.com/anthropics
  • Jika Anda menerbitkan marketplace pihak ketiga yang menggunakan nama tersebut sebelum nama itu dicadangkan, ganti namanya dan minta pengguna menambahkannya kembali dari sumber Anda
  • Lihat daftar nama yang dicadangkan di bawah Skema marketplace

Nama marketplace merupakan ejaan lain dari nama yang dicadangkan

Nama marketplace itu sendiri bukan nama yang dicadangkan, tetapi Claude Code memperlakukannya sebagai ejaan lain dari salah satunya. Nama yang dicadangkan mencantumkan ejaan mana saja yang dihitung sebagai nama yang dicadangkan. Claude Code menolak nama seperti itu saat Anda menambahkan marketplace:

Failed to add marketplace: "claude.code.plugins" is another spelling of "claude-code-plugins", a reserved marketplace name.

Ketika sebuah marketplace sudah terdaftar dengan nama seperti itu, entrinya berhenti dimuat, dan /plugin, claude plugin install, serta claude plugin update memberikan peringatan:

known_marketplaces.json has an entry named "claude.code.plugins", another spelling of the reserved marketplace name "claude-code-plugins", so it is ignored. Remove it with: claude plugin marketplace remove claude.code.plugins

Ketika nama tersebut memerlukan quoting shell, penolakan saat penambahan berbunyi This marketplace's name is another spelling of "<reserved>", a reserved marketplace name. It is not exactly the reserved name it appears to be.

Yang harus dilakukan:

  • Ganti nama marketplace menjadi nama yang tidak mengeja nama yang dicadangkan dan tambahkan lagi
  • Untuk peringatan entri yang diabaikan, jalankan perintah claude plugin marketplace remove yang diberikannya, atau hapus entri tersebut dari ~/.claude/plugins/known_marketplaces.json

Claude Code menolak nama marketplace

Nama marketplace yang terdaftar meniru marketplace resmi Anthropic berdasarkan aturan yang dicantumkan di bagian tersebut.

Jika sebuah marketplace didaftarkan dengan nama seperti itu sebelum pemeriksaan memblokirnya, marketplace tersebut dan plugin yang diinstal darinya berhenti dimuat, karena Claude Code memeriksa nama tersebut setiap kali membaca katalog marketplace. Ketika nama tersebut meniru nama resmi, claude plugin list dan tab Errors di /plugin melaporkan setiap plugin yang terdampak dengan pesan yang diawali:

Claude Code refuses the marketplace name "anthropic-plugins-v2"

Untuk nama yang meniru, error milik marketplace itu sendiri berbunyi Claude Code refuses this marketplace's name: it looks like one of Anthropic's own. claude plugin marketplace add menolak nama apa pun yang meniru dengan Marketplace name impersonates an official Anthropic/Claude marketplace.

Sebelum v2.1.282, claude plugin list dan /plugin juga melaporkan plugin dari nama yang meniru sebagai gagal dimuat, tanpa menyebutkan nama marketplace sebagai penyebabnya.

Yang harus dilakukan:

  • Untuk mempertahankan marketplace yang dideklarasikan secara inline oleh file pengaturan dengan "source": "settings", ganti namanya sebelum Anda menghapus nama lama, karena menghapus marketplace juga menghapus entrinya dari file pengaturan Anda. Claude Code v2.1.292 atau yang lebih baru mencantumkan langkah-langkah ini di dalam pesan:
    1. Di setiap file pengaturan yang mencantumkan marketplace di bawah extraKnownMarketplaces, berikan kunci entri dan source.name-nya satu nama baru berupa ASCII biasa yang tidak terlihat seperti nama resmi. Jika seorang administrator menambahkan marketplace melalui pengaturan terkelola organisasi Anda, administrator yang melakukan langkah ini
    2. Jalankan claude plugin marketplace remove <old-name>, atau hapus nama lama di tab Marketplaces di /plugin. Ini juga menghapus instalasi plugin-pluginnya dan menghapus data, opsi, serta rahasianya
    3. Jalankan Claude Code lagi, di folder proyek jika file tersebut adalah file pengaturan proyek. Kemudian instal plugin dari marketplace yang telah diganti namanya
  • Untuk mempertahankan marketplace lainnya, tunggu hingga pengelolanya mengganti namanya, lalu jalankan claude plugin marketplace update <name>
  • Untuk menghapus marketplace, jalankan claude plugin marketplace remove <name>. Ini juga menghapus instalasi plugin yang diinstal dari marketplace tersebut dan menghapus data, opsi, serta rahasianya
  • Jika Anda menerbitkan marketplace tersebut, ganti namanya di marketplace.json Anda; pengguna kemudian memperbarui marketplace alih-alih menghapusnya

Marketplace sudah ditambahkan dari sumber yang berbeda

Anda menyebutkan sumber marketplace baru dengan --marketplace <source> pada perintah install, di dalam sesi atau dari shell Anda. Katalog yang diambil Claude Code dari sumber tersebut memiliki nama yang sama dengan marketplace yang sudah Anda tambahkan dari sumber yang berbeda. Claude Code mempertahankan marketplace yang ada alih-alih menggantinya, dan plugin tidak diinstal.

Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.

Yang harus dilakukan:

  • Jika marketplace yang sudah Anda tambahkan adalah yang Anda inginkan, instal darinya berdasarkan nama: /plugin install <plugin>@<name>
  • Untuk beralih ke sumber baru, jalankan /plugin marketplace remove <name>, lalu coba instal lagi

Perintah plugin mereferensikan user_config dalam perintah shell

Perintah hook plugin, monitor, atau headersHelper MCP mereferensikan opsi plugin ${user_config.KEY}, dan string hasil substitusi akan diteruskan ke shell. Nilai yang dikonfigurasi yang berisi $(...), backtick, atau ; akan dijalankan sebagai kode di sana, sehingga Claude Code menolak memulai komponen tersebut alih-alih menyubstitusikan nilainya. Pemeriksaan dijalankan pada template perintah, sehingga error muncul bahkan ketika belum ada nilai yang dikonfigurasi. Sebelum v2.1.207, nilai tersebut disubstitusikan ke dalam perintah shell.

Kata-katanya bergantung pada surface mana yang mereferensikan opsi tersebut. Hook berbentuk shell melaporkan:

Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}

Monitor melaporkan:

Monitor "deploy-status" from plugin deploy-tools references ${user_config.*} in its command. The substituted value would be passed to a shell. Monitor commands cannot safely reference ${user_config.*}; have the monitor script read the value from a config file or prompt instead.

headersHelper MCP melaporkan:

headersHelper for MCP server 'internal-api' references ${user_config.*}. The substituted value would be passed to a shell; read the value inside the helper script instead (e.g. from an env var set in the server's "env" block).

Yang harus dilakukan:

  • Untuk hook, tambahkan array args agar hook berjalan dalam bentuk exec, di mana setiap ${user_config.KEY} menjadi satu argumen tanpa shell di antaranya. Atau hapus referensi tersebut dan baca environment variable $CLAUDE_PLUGIN_OPTION_<KEY> di dalam skrip
  • Untuk monitor, hapus referensi tersebut dan buat skrip monitor membaca nilainya dari file konfigurasi
  • Untuk headersHelper, pindahkan ${user_config.KEY} ke field headers milik server, yang tidak di-parse oleh shell, atau baca nilainya di dalam skrip helper

Pemeriksaan integritas arsip plugin gagal

Entri marketplace plugin menggunakan sumber archive dengan pin sha256, dan digest dari file yang diunduh tidak cocok dengan pin tersebut. Claude Code menolak instalasi, sehingga tidak ada yang berubah di cache plugin. Ketidakcocokan ini memiliki tiga kemungkinan penyebab:

  • File di URL berubah setelah pembuatnya menghitung pin
  • Pembuatnya memasukkan digest yang salah di entri marketplace
  • URL menyajikan file yang berbeda dari yang di-pin oleh pembuatnya
Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.

Yang harus dilakukan:

  • Jika Anda menerbitkan plugin tersebut, hitung ulang digest dari file persis yang disajikan URL, misalnya dengan shasum -a 256 my-plugin.zip, atau Get-FileHash -Algorithm SHA256 my-plugin.zip di PowerShell, dan perbarui sha256 di entri marketplace
  • Jika Anda menginstal plugin tersebut, jalankan /plugin marketplace update <name> untuk menyegarkan katalog jika entrinya sudah diperbaiki, lalu coba instal lagi
  • Jika digest masih tidak cocok setelah penyegaran, tanyakan kepada pemilik marketplace file mana yang mereka pin sebelum menginstal

Path keluar dari direktori plugin

Salah satu path komponen plugin mengarah ke luar direktori plugin atau tidak dapat dipastikan berada di dalamnya, sehingga Claude Code mengabaikan path tersebut dan memuat sisa plugin. Untuk path yang dideklarasikan plugin di plugin.json atau entri marketplace-nya, nama komponen dalam pesan, seperti commands atau hooks, menyebutkan field yang mendeklarasikan path tersebut.

commands path escapes plugin directory: ./../shared.md

Dalam output perintah claude plugin, error yang sama berbunyi Path escapes plugin directory: ./../shared.md (commands).

Claude Code menolak baik path yang menunjuk ke luar plugin sebagaimana tertulis, seperti ../shared-utils, maupun symlink yang mengarah ke luar plugin dan tidak diizinkan oleh aturan symlink marketplace. Untuk symlink, pesan tersebut juga menyebutkan ke mana path di-resolve:

commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory

Pesan yang memberikan path lengkap dari salah satu file milik plugin marketplace itu sendiri, seperti hooks/hooks.json, berarti Claude Code melewati file tersebut. Hal itu terjadi ketika Claude Code tidak dapat memastikan file tersebut berada di dalam plugin atau, untuk plugin di marketplace lokal, di dalam marketplace tersebut. Pesan melaporkan setiap file berikut di bawah nama komponen yang ditampilkan:

  • hooks/hooks.json: hooks
  • monitors/monitors.json: monitors
  • settings.json: settings
  • SKILL.md di root plugin: skills

Misalnya, pesan ini ditujukan untuk hooks/hooks.json yang di-resolve ke luar plugin sekaligus ke luar marketplace lokalnya:

hooks path escapes plugin directory: /home/user/my-marketplace/my-plugin/hooks/hooks.json — it resolves to /home/user/dotfiles/hooks.json, outside the plugin directory and its marketplace directory

Di macOS dan Linux, Claude Code juga menolak path komponen yang berisi backslash di mana pun di dalamnya, bahkan ketika path tersebut tetap berada di dalam plugin. Plugin yang path komponennya menggunakan pemisah gaya Windows akan dimuat di Windows dan memicu penolakan ini di platform lain:

commands path escapes plugin directory: ./commands\deploy.md — its path contains a backslash, which is not resolved reliably on this platform

Sebelum v2.1.251, Claude Code memuat path commands yang dideklarasikan di entri marketplace bahkan ketika path tersebut menunjuk ke luar direktori plugin.

Sebelum v2.1.257, pemeriksaan pada path yang dideklarasikan plugin hanya melihat ejaan path, bukan ke mana symlink mengarah.

Yang harus dilakukan:

  • Jika Anda menginstal plugin tersebut dan tidak memeliharanya, laporkan pesan tersebut kepada pembuatnya
  • Untuk path yang dideklarasikan plugin, pindahkan file yang direferensikan ke dalam direktori plugin dan arahkan path ke file tersebut dengan path relatif ./
  • Jika path tersebut, atau folder di atasnya di dalam plugin, adalah symlink yang mengarah ke luar plugin, ganti symlink tersebut dengan salinan dari apa yang ditunjuknya
  • Jika pesan menyebutkan bahwa path yang dideklarasikan plugin berisi backslash, tulis path tersebut dengan garis miring maju, misalnya ./commands/deploy.md
  • Jika pesan diakhiri dengan EACCES, pulihkan hak akses eksekusi Anda pada setiap direktori yang mengarah ke file atau folder yang disebutkan path tersebut. Periksa direktori di atas path, lalu ikuti setiap symlink yang Anda temui dan periksa direktori yang mengarah ke tempat yang ditunjuknya. Untuk kode error lainnya, cari di penyebab dan langkah untuk path yang tidak dapat diperiksa.
  • Untuk berbagi file dengan plugin lain di marketplace yang sama, tautkan file tersebut dengan symlink di dalam direktori plugin, dengan mengikuti aturan symlink

Path file server tidak dibaca

Pesan path not read berarti Claude Code tidak membaca file server MCP atau LSP yang disebutkan plugin, karena path file tersebut. Sisa plugin tetap dimuat, tanpa server yang didefinisikan file tersebut.

Bagian .. tetap dihitung bahkan ketika path tetap berada di dalam plugin, seperti dalam contoh ini:

mcp-servers path not read: ./sub/../x.json is absolute or has a ".." part

Yang harus dilakukan:

  • Jika Anda menginstal plugin tersebut dan tidak memeliharanya, laporkan pesan tersebut kepada pembuatnya
  • Jika Anda memelihara plugin tersebut, simpan file server di dalam direktori plugin. Sebutkan file tersebut di manifest atau entri marketplace dengan path yang diawali ./ dan tidak memiliki .., misalnya ./servers/x.json
  • Untuk berbagi satu file server antar plugin di marketplace yang sama, tautkan file tersebut ke setiap plugin dengan symlink, dengan mengikuti aturan symlink

Plugin tidak dimuat: manifest-nya tidak dibaca

Claude Code tidak dapat memastikan bahwa manifest plugin marketplace di .claude-plugin/plugin.json berada di dalam plugin, sehingga tidak memuat apa pun dari plugin tersebut. Untuk plugin di marketplace lokal, Claude Code juga tidak dapat memastikan bahwa manifest berada di dalam marketplace tersebut. Pesan muncul di tab Errors di /plugin, dan alasan di bagian akhirnya menyebutkan apa yang ditemukan Claude Code.

Misalnya, pesan ini ditujukan untuk plugin di marketplace lokal yang folder .claude-plugin-nya adalah symlink yang mengarah ke luar marketplace:

Plugin not loaded: its manifest /home/user/my-marketplace/my-plugin/.claude-plugin/plugin.json was not read, because it resolves to /home/user/dotfiles/my-plugin/.claude-plugin/plugin.json, outside the plugin directory and its marketplace directory

Yang harus dilakukan:

  • Jika alasannya diakhiri dengan EACCES, pulihkan hak akses eksekusi Anda pada setiap direktori yang mengarah ke manifest. Periksa direktori di atas manifest, lalu ikuti setiap symlink yang Anda temui dan periksa direktori yang mengarah ke tempat yang ditunjuknya. Untuk kode error lainnya, cari di penyebab dan langkah untuk path yang tidak dapat diperiksa.
  • Jika Anda memelihara plugin tersebut dan alasannya menyebutkan ke mana manifest di-resolve, folder .claude-plugin atau plugin.json itu sendiri adalah symlink yang mengarah ke sana. Ganti tautan tersebut dengan salinan dari apa yang ditunjuknya.
  • Jika Anda menginstal plugin tersebut dan tidak memeliharanya, laporkan pesan tersebut kepada pembuatnya

Path tidak dapat diperiksa

Claude Code menanyakan kepada sistem operasi apakah path plugin ada dan mendapatkan error selain "not found", sehingga tidak memuat apa yang disebutkan path tersebut. Seberapa banyak plugin yang dimuat bergantung pada path mana yang gagal:

  • Salah satu lokasi komponen default plugin, seperti folder skills/, file monitors/monitors.json, atau SKILL.md di root plugin: komponen lain plugin tetap dimuat
  • Direktori plugin itu sendiri: tidak ada apa pun dari plugin tersebut yang dimuat

Anda tidak melihat error ini untuk path yang sama sekali tidak ada. Di /plugin, error muncul di bawah plugin dan menyebutkan path serta kode yang dikembalikan sistem operasi:

skills path could not be checked: /home/user/my-plugin/skills (ELOOP)

Di claude plugin list, error yang sama berbunyi Path not found: /home/user/my-plugin/skills (skills, ELOOP).

Penyebab yang menghasilkan error ini antara lain:

  • ELOOP: symlink di path menunjuk ke dirinya sendiri atau membentuk loop
  • EIO atau ESTALE: path berada di mount jaringan yang rusak atau kedaluwarsa
  • EACCES: salah satu direktori di atas path menolak memberi Anda hak akses untuk menelusurinya

Yang harus dilakukan:

  • Ganti symlink yang menunjuk ke dirinya sendiri dengan folder sungguhan, atau hapus symlink tersebut
  • Jika path berada di mount jaringan, mount ulang share tersebut
  • Jika kodenya EACCES, pulihkan hak akses eksekusi Anda pada direktori di atas path
  • Jalankan /reload-plugins setelah memperbaiki path, atau mulai ulang Claude Code, untuk memuat plugin atau komponen tersebut

Sebelum v2.1.265, Claude Code memperlakukan folder komponen default yang tidak dapat diperiksanya sebagai tidak ada dan memuat plugin tanpa komponen tersebut, tanpa error.

Path entri marketplace tidak tetap berada di dalam direktori marketplace

Entri marketplace plugin mendeklarasikan path sumber yang tidak dapat di-resolve oleh Claude Code ke lokasi di dalam direktori marketplace itu sendiri, sehingga plugin tidak terinstal atau dimuat. Penolakan ini mencakup:

  • Path entri yang absolut, keluar dari marketplace dengan .., atau dieja seperti path jaringan
  • Di macOS dan Linux, path entri yang berisi backslash di mana pun setelah ./ di awal
  • Entri di marketplace yang diambil dari sumber jarak jauh, seperti git atau URL, yang mencapai targetnya melalui symlink yang di-resolve ke luar direktori marketplace
  • Entri relatif di marketplace yang ditambahkan dari URL langsung ke marketplace.json-nya: Claude Code hanya mengunduh file tersebut, sehingga tidak ada file plugin lokal yang dapat disebutkan oleh path tersebut. Lihat Plugin dengan path relatif gagal di marketplace berbasis URL

claude plugin install melaporkan penolakan seperti ini:

Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped, backslash-containing or link-traversing entry, an entry of a fetched marketplace that resolves or opens outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)

Ketika entri plugin yang sudah terinstal gagal dalam pemeriksaan yang sama, claude plugin list menampilkan plugin tersebut sebagai failed to load dengan:

Plugin source path refused: ./my-plugin does not stay inside its marketplace directory. Check that the marketplace entry has a plain relative path.

Yang harus dilakukan:

  • Jika Anda memelihara marketplace tersebut, tulis source entri sebagai path relatif biasa dengan garis miring maju, seperti ./plugins/my-plugin, dan pastikan setiap symlink yang dilewatinya menunjuk ke dalam direktori marketplace
  • Jika Anda menambahkan marketplace dari URL langsung, entri relatif tidak dapat di-resolve. Minta pembuat marketplace untuk menggunakan sumber plugin lain, atau tambahkan marketplace dari repositori git-nya

Gagal memuat konfigurasi marketplace

Claude Code menyimpan marketplace plugin yang telah Anda tambahkan dalam file registri di ~/.claude/plugins/known_marketplaces.json. Perintah plugin yang memerlukan registri, seperti claude plugin install, gagal dengan salah satu dari dua pesan ketika Claude Code tidak dapat menggunakan file tersebut:

  • Failed to load marketplace configuration: file ada tetapi bukan JSON yang valid atau tidak dapat dibaca. File kosong juga gagal dengan cara ini.
  • Marketplace configuration file is corrupted: file berupa JSON yang valid tetapi isinya tidak cocok dengan skema registri.

Dengan file kosong, claude plugin install melaporkan:

✘ Failed to install plugin "my-plugin": Failed to load marketplace configuration: JSON Parse error: Unexpected EOF

Sebelum v2.1.246, claude plugin install tidak melaporkan kegagalan ini.

Yang harus dilakukan:

  • Buka ~/.claude/plugins/known_marketplaces.json dan perbaiki JSON-nya, atau perbaiki entri yang disebutkan pesan sebagai tidak cocok dengan skema registri
  • Jika Anda tidak dapat memperbaikinya, hapus file tersebut atau ganti isinya dengan {}, lalu tambahkan kembali setiap marketplace dengan claude plugin marketplace add <source>. Claude Code mendaftarkan ulang marketplace yang dideklarasikan pengaturan pengguna atau pengaturan terkelola Anda di extraKnownMarketplaces saat berikutnya Anda menjalankannya di folder yang telah Anda percayai.

Plugin diwajibkan oleh organisasi Anda

Anda menjalankan claude plugin disable, atau menggunakan tab Installed di /plugin, untuk mematikan plugin yang disinkronkan dari claude.ai yang ditandai sebagai wajib oleh organisasi Anda:

Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.

Claude Code tidak menyimpan apa pun dan plugin tetap aktif.

Ketika Anda mencoba menonaktifkan plugin yang menjadi dependensi plugin wajib, Claude Code menolak dengan cara yang sama, dengan pesan yang menyebutkan plugin wajib yang membutuhkannya.

Yang harus dilakukan:

  • Minta admin organisasi claude.ai Anda untuk mengubah status wajib plugin tersebut di claude.ai

Plugin tidak dihapus instalasinya

Anda menjalankan claude plugin uninstall, atau memilih Uninstall di tab Installed di /plugin, dan penghapusan instalasi berhenti dengan pesan yang diawali "<plugin>" was not uninstalled:. Jika teks setelah titik dua tersebut diawali dengan installed_plugins.json alih-alih menyebutkan file pengaturan, penyebabnya adalah konten di installed_plugins.json yang tidak dapat dibaca oleh versi Claude Code ini. Untuk bentuk tersebut, lihat installed_plugins.json menyimpan catatan yang tidak dapat dibaca versi ini.

Ketika Claude Code menghapus entri plugin dari enabledPlugins dan membaca kembali file pengaturan cakupan tersebut, entah plugin masih dinyalakan di sana, atau file yang dapat menyalakannya tidak dapat dibaca atau diperiksa. Menghapus opsi, rahasia, dan data plugin yang tersimpan sementara entri pengaturan dapat menyalakannya kembali akan menghilangkan semua itu, sehingga penghapusan instalasi dihentikan: plugin tetap terinstal dan tidak ada yang disimpannya yang dihapus.

✘ Failed to uninstall plugin "formatter": "formatter" was not uninstalled: it is still switched on in /home/user/project/.claude/settings.local.json, although the settings change reported no error. It is still installed. Take it out of "enabledPlugins" in that file yourself, then uninstall it again.

Bagian tengah pesan menyebutkan file dan penyebabnya:

  • it is still switched on in <file>, although the settings change reported no error: penulisan pengaturan melaporkan keberhasilan tetapi entri masih ada ketika file dibaca kembali
  • it is still switched on in <file>, and the settings change failed (<error>): file tidak dapat disimpan, karena alasan di dalam tanda kurung
  • <file> is there and could not be read: file ada tetapi tidak dapat dibaca sebagai pengaturan, misalnya karena bukan JSON yang valid, sehingga file tersebut mungkin masih mengaktifkan plugin
  • <file> (not read: it is on a network path or is a link to one, or could not be checked): Claude Code tidak membaca file pengaturan proyek atau lokal karena file tersebut, atau folder .claude yang menampungnya, adalah tautan yang mengarah ke lokasi jaringan, atau karena Claude Code tidak dapat memeriksa path tersebut

claude plugin uninstall keluar dengan kode 1, dan dengan --json hasilnya membawa failureCode: "settings_still_on". /plugin menampilkan pesan yang sama.

Yang harus dilakukan:

  • Ikuti kalimat terakhir pesan: perbaiki atau ganti file pengaturan yang disebutkannya, atau hapus sendiri entri plugin dari enabledPlugins di file tersebut, lalu jalankan penghapusan instalasi lagi

Skipping connection (recent failure cached; retries automatically in 15 min, or edit the plugin config to retry now)

Pesan ini berarti Claude Code tidak memulai server MCP yang disediakan plugin berjenis stdio, karena koneksi ke server tersebut gagal kurang dari 15 menit sebelumnya:

Skipping connection (recent failure cached; retries automatically in 15 min, or edit the plugin config to retry now)

Sesi berlanjut tanpa tool dari server tersebut, dan Claude Code tidak mencoba server itu lagi di sesi tersebut ketika 15 menit berakhir. Ketika Anda memulai sesi baru atau menjalankan claude -p setidaknya 15 menit setelah koneksi gagal terakhir, Claude Code mencoba server tersebut lagi.

Yang harus dilakukan:

Agar Claude Code mencoba server tersebut lagi tanpa menunggu:

  • Di sesi interaktif: jalankan /mcp, pilih server, lalu pilih Reconnect
  • Di aplikasi Agent SDK: panggil reconnectMcpServer() di TypeScript atau ClaudeSDKClient.reconnect_mcp_server() di Python dengan nama server
  • Di claude -p: mulai sesi interaktif yang memuat plugin yang sama, di mesin yang sama dan dengan akun sistem operasi serta nilai CLAUDE_CONFIG_DIR yang sama dengan eksekusi Anda. Sambungkan ulang server di sana dari /mcp. Setelah tersambung, Claude Code mencoba koneksi tersebut pada eksekusi Anda berikutnya.
  • Jika Anda sedang mengembangkan plugin: ubah command, args, atau env server di .mcp.json atau plugin.json plugin. Claude Code mencoba koneksi tersebut di sesi berikutnya atau eksekusi claude -p yang memuat entri yang telah diubah.

Pesan ini menggantikan error dari koneksi yang gagal. Jika percobaan baru juga gagal, Claude Code melaporkan error dari percobaan tersebut alih-alih pesan ini.

Error tool

Error ini berasal dari panggilan tool Claude. Claude memperbaiki sebagian besar error tool dengan sendirinya. Ketika suatu error memerlukan perubahan dari Anda, daftar Yang perlu dilakukan pada error tersebut menjelaskan apa yang harus diubah.

No such tool available

Claude memanggil tool dengan nama yang tidak ada dalam daftar tool sesi. Claude Code mengembalikan error tersebut kepada Claude sebagai hasil panggilan tool, dan giliran berlanjut. Ketika Claude Code dapat mengetahui mengapa tool tersebut tidak ada, Claude Code menambahkan kalimat setelah nama tool yang memberikan alasannya atau menyebutkan tool yang sebaiknya dipanggil, seperti pada baris kedua:

Error: No such tool available: <tool name>
Error: No such tool available: read. Tool names are case-sensitive: call Read instead.

Tepat setelah Anda melanjutkan sesi, server MCP mungkin masih dalam upaya koneksi pertamanya ketika Claude memanggil salah satu tool-nya. Claude Code kemudian menunggu server dan mengembalikan error ini jika tool masih belum tersedia ketika waktu tunggu berakhir. Sebelum v2.1.284, panggilan seperti itu langsung gagal alih-alih menunggu.

Panggilan yang nama tool-nya dipotong oleh Claude Code menjadi 200 karakter juga gagal dengan error ini.

Yang perlu dilakukan:

  • Jika hanya terjadi sekali, Anda tidak perlu melakukan apa pun. Claude membaca error tersebut dan giliran berlanjut.
  • Jika panggilan ke tool server MCP terus gagal dengan error ini, jalankan /mcp di sesi atau claude mcp list di shell Anda untuk memeriksa status server, lalu sambungkan kembali server yang gagal dari /mcp. Di Agent SDK, lihat Penanganan error.

MCP server connection closed before the tool call was answered

Panggilan tool ke server MCP HTTP atau konektor claude.ai kehilangan koneksinya sebelum server menjawab, sehingga Claude Code tidak dapat mengetahui apakah tool tersebut telah berjalan:

MCP server "<name>" connection closed before the tool call was answered. The tool may have run: check whether it did before running it again.

Mengulangi panggilan dapat mengulangi tindakan tool, seperti membuat issue kedua. Oleh karena itu, Claude Code mengulangi panggilan dengan sendirinya, satu kali, hanya ketika server menandai tool tersebut sebagai aman untuk diulang.

Yang perlu dilakukan:

  • Periksa di layanan tempat tool bertindak apakah tindakan tersebut terjadi, misalnya apakah issue atau catatan yang seharusnya dibuat sudah ada
  • Jika tindakan tersebut terjadi, jangan jalankan tool lagi. Claude menerima pesan ini sebagai pengganti hasil tool, jadi beri tahu Claude hasilnya.
  • Jika tindakan tersebut tidak terjadi, minta Claude untuk menjalankan tool lagi. Anda tidak perlu menyambungkan ulang server terlebih dahulu, karena Claude Code akan terhubung kembali ke server tersebut untuk panggilan berikutnya ke salah satu tool-nya. Jika koneksi itu juga gagal, lihat Putusnya server jarak jauh di tengah sesi.
  • Jika Anda yang membangun server dan tool tersebut aman dipanggil dua kali, tandai sebagai aman untuk diulang agar Claude Code dapat mengulangi panggilan yang hilang

MCP server is disabled

Pesan ini dalam hasil tool berarti Claude memanggil tool pada server MCP yang dimatikan. Claude Code tidak terhubung ke server tersebut, sehingga tool tidak berjalan, dan Claude menerima teks ini sebagai pengganti hasil:

MCP server "<name>" is disabled — re-enable it via /mcp to use its tools

Yang perlu dilakukan:

  • Jika Anda memang bermaksud mematikan server tersebut, Anda tidak perlu melakukan apa pun
  • Jika Claude memerlukan tool dari server tersebut, aktifkan kembali dari /mcp di prompt Claude Code
  • Dalam aplikasi Agent SDK, aktifkan kembali server dengan memanggil toggleMcpServer() di TypeScript dengan enabled disetel ke true, atau toggle_mcp_server() di Python dengan enabled disetel ke True

MCP tool call timed out with the server's question unanswered

Dalam mode non-interaktif, sebuah server MCP meminta input melalui elicitation selama panggilan tool, dan batas waktu panggilan habis sebelum jawaban datang:

MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit. Do not call this tool again in this turn. Tell the user that the server's question got no answer, and wait for their reply.

Sebelum v2.1.310, hasilnya berakhir pada timed out after <N>s dan tidak menyebutkan apa pun tentang pertanyaan tersebut.

Yang perlu dilakukan:

  • Siapkan hook Elicitation yang menjawab permintaan server
  • Dalam aplikasi Agent SDK TypeScript, buat callback onElicitation Anda mengembalikan jawabannya sebelum batas waktu habis
  • Untuk memberi lebih banyak waktu bagi jawaban, setel timeout yang lebih panjang dalam milidetik di entri konfigurasi server, seperti "timeout": 600000 untuk 10 menit
  • Jalankan tugas tersebut dalam sesi interaktif dan jawab sendiri dialog server

Permission prompt tool returned an invalid result

Tool yang Anda berikan ke --permission-prompt-tool mengembalikan jawaban yang tidak dapat dibaca Claude Code, sehingga panggilan tool yang menunggunya tidak berjalan, bahkan jika jawaban tersebut mengizinkan panggilan:

Permission prompt tool returned an invalid result. Expected a single text block param with type="text" and a string text value.

Yang perlu dilakukan:

  • Kembalikan satu blok teks yang teksnya adalah {"behavior": "allow"} atau {"behavior": "deny", "message": "<reason>"}. Untuk mengubah input, tambahkan updatedInput ke objek allow. Dari v2.1.86 hingga v2.1.206, sebuah allow memerlukan "updatedInput": {} untuk mempertahankan input.
  • Jangan kembalikan structuredContent, yang mungkin ditambahkan sendiri oleh SDK MCP Anda. Misalnya, daftarkan tool:
    • FastMCP atau MCPServer dari mcp.server: dengan structured_output=False
    • FastMCP dari fastmcp: dengan output_schema=None, dan kembalikan string
    • MCP TypeScript SDK: tanpa outputSchema
  • Jika error hanya muncul dengan input sekitar 40 KB atau lebih, jangan salin input ke updatedInput atau ke message dari deny. Untuk mengubah input sebesar itu, naikkan batas output tool prompt Anda.

Agent would be spawned with zero tools

Setiap entri dalam daftar tools subagent gagal cocok dengan tool yang dapat digunakan, sehingga Claude Code menolak meluncurkan subagent: tanpa tool, subagent tidak dapat bertindak. Pesan tersebut mengelompokkan entri Anda berdasarkan apa yang salah:

  • Tidak dikenali: entri tidak cocok dengan nama tool mana pun, biasanya salah ketik seperti Grpe untuk Grep.
  • Tidak tersedia untuk subagent: entri menyebutkan tool nyata yang tidak dapat digunakan subagent. Subagent latar belakang mempertahankan set tool bawaan yang lebih kecil, sehingga entri yang hanya dapat digunakan oleh subagent latar depan masuk ke sini ketika subagent akan berjalan di latar belakang, yang merupakan default. Jika Anda mencantumkan Agent, pesan melaporkannya di bawah kelompok berikutnya.
  • Tidak cocok dengan tool apa pun di sesi ini: entri valid tetapi tidak ada tool di sesi saat ini yang cocok dengannya saat ini, seperti mcp__github__* tanpa server MCP GitHub yang terhubung, atau Agent untuk subagent pada batas kedalaman.

Menghilangkan field tools tidak pernah memicu penolakan ini. Jika Anda membiarkan daftar tools kosong, atau disallowedTools menghapus setiap entri di dalamnya, Claude Code juga melewati penolakan dan meluncurkan subagent tanpa tool.

Sebelum v2.1.208, subagent diluncurkan tanpa tool dan dapat mengembalikan hasil yang kosong atau membingungkan.

Agent 'code-reviewer' would be spawned with zero tools — refusing. Its tools list resolved to nothing: unrecognized [Grpe]. Fix the agent's tools frontmatter or pass a different subagent_type.

Yang perlu dilakukan:

  • Perbaiki setiap entri yang disebutkan error dengan mengacu pada tool yang tersedia untuk subagent
  • Hapus entri untuk tool yang tidak dimiliki sesi, seperti tool MCP dari server yang tidak terhubung
  • Jika entri menyebutkan server MCP yang terhubung, bandingkan entri tersebut dengan nama server sebagaimana dieja dalam nama tool server tersebut, seperti reports__v2 dalam mcp__reports__v2__get_totals. Untuk server tersebut, tulis mcp__reports__v2__*, yaitu mcp__ diikuti nama lengkap dan __*. Dengan mcp__reports yang lebih pendek, yang menyebutkan server bernama reports, subagent tidak mendapatkan satu pun tool reports__v2
  • Untuk tool yang dibuang oleh subagent latar belakang, seperti CronCreate, hapus entri tersebut
  • Untuk tetap mempertahankan tool seperti CronCreate, biarkan Claude menunggu subagent, karena subagent yang ditunggu Claude berjalan di latar depan dan mempertahankan tool tersebut. Jika definisi menyetel background: true, hapus field tersebut terlebih dahulu, karena field itu membuat subagent tetap di latar belakang
  • Hapus field tools alih-alih mencantumkan tool untuk memberikan subagent setiap tool yang tersedia untuk subagent
  • Untuk daftar tools yang hanya berisi Agent, naikkan batas kedalaman atau berikan agent setidaknya satu tool lain: Claude Code menahan Agent pada batas tersebut, sehingga daftar yang tidak berisi apa pun selain itu di-resolve menjadi tanpa tool

File is covered by a Read deny rule

Tool Edit atau Write dipanggil pada path yang cocok dengan aturan deny Read, termasuk membuat file baru di path tersebut. Kedua tool mengubah konten yang harus dapat dibaca kembali oleh Claude, sehingga Claude Code menolak panggilan sebelum akses file apa pun. NotebookEdit tidak tercakup oleh aturan deny Read. Sebelum v2.1.228, aturan tersebut hanya memblokir tool Edit, dan sebelum v2.1.208, hanya aturan deny Edit yang memblokir pengeditan.

File is covered by a Read deny rule in your permission settings and cannot be edited.

Ketika Claude Code menolak tool Write, pesan tersebut berakhir dengan and cannot be written.

Yang perlu dilakukan:

  • Jika Claude seharusnya dapat mengubah file tersebut, hapus atau persempit aturan deny Read di /permissions atau di pengaturan
  • Jika file tersebut harus tetap tidak tersentuh, pertahankan aturan tersebut dan tambahkan aturan deny Edit untuk path yang sama agar tool NotebookEdit juga diblokir

Pengaturan memblokir penulisan di luar direktori kerja

Ketika Claude mencoba menulis file dan panggilan tool gagal dengan pesan ini, path tersebut berada di luar direktori kerja sesi dan permissions.blockWritesOutsideWorkingDirectories aktif:

<path> is outside <dirs>; the permissions.blockWritesOutsideWorkingDirectories setting blocks writes outside the working directories. Ask the user to add the directory with /add-dir, or to remove that setting.

Claude Code menolak penulisan tersebut di setiap mode izin. Penolakan tersebut juga dapat berbunyi:

<path>: Writes outside the working directories are blocked (permissions.blockWritesOutsideWorkingDirectories). Add the directory with /add-dir, or remove that setting.

Yang perlu dilakukan:

  • Jika Claude tidak seharusnya menulis di sana, jangan lakukan apa pun
  • Untuk membiarkan Claude menulis ke direktori yang sudah ada yang berisi path tersebut, jalankan /add-dir <directory> di prompt Claude Code, atau berikan --add-dir <directory> ketika Anda memulai Claude Code
  • Jika path tersebut adalah file pengaturan Claude Code, seperti ~/.claude/settings.json, edit sendiri. Menambahkan direktorinya dengan /add-dir tidak membantu, karena Claude Code kemudian menolak penulisan tersebut sebagai file pengaturan.
  • Agar suatu direktori tetap dapat ditulisi di setiap sesi, cantumkan di bawah permissions.additionalDirectories dalam pengaturan pengguna atau pengaturan terkelola Anda
  • Untuk mematikan permissions.blockWritesOutsideWorkingDirectories, hapus dari setiap file pengaturan yang menyetelnya, lalu mulai ulang Claude Code
  • Jika tidak ada file pengaturan Anda yang memiliki permissions.blockWritesOutsideWorkingDirectories, pengaturan tersebut dapat berasal dari --settings atau dari aplikasi host. Claude Code juga menolak penulisan ini selama tidak dapat membaca permissions dalam pengaturan terkelola Anda. Tanyakan kepada siapa pun yang meluncurkan atau mengelola sesi tersebut.

Writes to Claude Code settings files are blocked

Ketika Claude mencoba menulis file dan panggilan tool gagal dengan pesan ini, Claude Code memperlakukan file tersebut sebagai salah satu file pengaturannya dan permissions.blockWritesOutsideWorkingDirectories aktif:

<path>: Writes to Claude Code settings files are blocked while permissions.blockWritesOutsideWorkingDirectories is on, because a settings file can lift that block. While a managed settings folder cannot be resolved, any .json file counts as one.

Yang perlu dilakukan:

  • Untuk mengubah pengaturan, edit sendiri file pengaturan tersebut
  • Untuk membiarkan Claude mengedit file pengaturan lagi, hapus permissions.blockWritesOutsideWorkingDirectories dari setiap file pengaturan yang menyetelnya, lalu mulai ulang Claude Code
  • Jika file tersebut bukan salah satu file pengaturan Anda, temukan di antara file lain yang diperlakukan Claude Code sebagai file pengaturan:
    • File yang Anda berikan ke --agents atau --mcp-config: edit sendiri
    • Salinan tersimpan dari pengaturan yang dikelola server dan file yang disimpan bersamanya: minta seorang Owner untuk mengubah pengaturan di pengaturan yang dikelola server.
    • File .json apa pun, selama Claude Code tidak dapat mengetahui ke mana folder managed-settings.d/ mengarah: minta administrator Anda untuk memeriksa folder tersebut

Path cannot contain null bytes

Argumen path atau pola dari panggilan tool file berisi null byte, yang tidak dapat diterima oleh sistem file dan tool pencarian. Read, Write, Edit, NotebookEdit, Glob, dan Grep memeriksa hal ini, dan pesan tersebut menyebutkan tool dan argumennya:

Read file_path cannot contain null bytes (\0). Remove the null byte and try again.

Panggilan tool gagal, Claude melihat error tersebut, dan giliran berlanjut.

Yang perlu dilakukan:

  • Tidak ada yang perlu dilakukan di pihak Anda: error dikembalikan kepada Claude sebagai hasil tool, dan pesan itu sendiri memberi tahu Claude untuk menghapus null byte dan mencoba lagi

Sebelum v2.1.281, null byte dalam path Read, Write, Edit, atau NotebookEdit mengakhiri seluruh giliran dengan error yang menyebutkan Path contains null bytes, dan tool tidak pernah berjalan.

Command contains an invisible character

Tool PowerShell menolak menjalankan perintah yang berisi U+FEFF atau U+180E:

Error: command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run. Remove the character, keep the text that needs it in a file that the command reads, or write it as $([char]0xFEFF) or $([char]0x180E) inside a double-quoted string

Yang perlu dilakukan:

  • Untuk perintah yang ditulis Claude: tidak ada yang perlu Anda perbaiki. Pesan tersebut memberi tahu Claude cara menulis ulang perintah.
  • Untuk file skill atau perintah: pesan tersebut mengikuti No shell command in <name> was run. Lihat tempat menemukan karakter tersebut dan menghapusnya.

Perintah yang disetujui sebelum Claude Code dimulai ulang tidak dijalankan

Perintah shell yang Anda setujui tidak berjalan, dan Claude menerima pesan ini sebagai hasil perintah:

This call was not run. The command was approved before Claude Code restarted, and Claude Code could not confirm that the shell is back in the directory where it was approved. That directory may be gone or replaced, lie outside the directory where the session started, or be one that Claude Code needs approval to enter or is not allowed to examine. The shell's directory is <directory>. If the command still makes sense, cd to the directory it was meant for and make the call again; it may need approval again.

Kalimat ketiga pesan tersebut dapat berbunyi It does not keep track of that directory across a restart in a session that has been in a worktree.

Yang perlu dilakukan:

  • Biarkan Claude melanjutkan, dan jawab permintaan izin jika Anda diminta menyetujui perintah tersebut lagi.

File is too large to read as an image

Claude mencoba membaca file sebagai gambar dengan tool Read, dan file tersebut lebih besar dari 128 MB, ukuran maksimum yang dimuat Read dari file gambar. Tidak ada yang dibaca, dan Claude menerima error ini sebagai hasil tool:

File is too large to read as an image (the limit is 128MB): <path>. If it is an image, resize it or export a smaller copy, then read that.

Ketika path tersebut adalah pipe atau perangkat, bukan file biasa, Read berhenti begitu lebih dari 128 MB telah tiba dan mengembalikan error ini:

Cannot read this as an image: <path> is a pipe or a device, not a regular file, and it sent more than 128MB without ending.

Yang perlu dilakukan:

  • Jika Claude mengikuti pesan File is too large dan melanjutkan dengan mengubah ukuran gambar atau membaca salinan yang lebih kecil, jangan lakukan apa pun
  • Jika Claude berhenti pada error tersebut, ekspor sendiri salinan di bawah 128 MB, misalnya dengan resolusi lebih rendah, dan arahkan Claude ke file tersebut
  • Jika path tersebut adalah pipe atau perangkat, arahkan Claude ke file gambar biasa

subagent_type is required

subagent_type is required: the general-purpose agent is not available in this session. Available agents: ...

Claude memanggil tool Agent tanpa subagent_type, dan sesi ini tidak memiliki subagent general-purpose sebagai cadangan. Hal ini terjadi pada dua penyiapan:

Yang perlu dilakukan:

  • Biasanya tidak ada: pesan tersebut mencantumkan subagent yang dimiliki sesi, sehingga Claude dapat mencoba ulang dengan salah satunya
  • Jika Claude terus gagal, tambahkan general-purpose ke allowlist tools: Agent(...), atau hapus setelan CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS

Sebelum v2.1.235, panggilan yang sama gagal dengan Agent type 'general-purpose' not found.

Memory index is over its read limit

Claude menulis ke indeks auto memory MEMORY.md dan membiarkannya melebihi salah satu batas bacanya: 200 baris atau 25KB. Penulisan berhasil, tetapi hanya 200 baris pertama atau 25KB pertama, mana yang lebih dulu tercapai, yang dimuat di awal sesi, sehingga semua yang melewati batas dibuang setiap kali indeks dibaca. Sebelum v2.1.210, indeks yang melebihi batas dipotong secara diam-diam pada pemuatan berikutnya tanpa sinyal saat penulisan.

Error: this write left the memory index at MEMORY.md at 214 lines, over its 200-line read limit. The write succeeded, but everything past the limit is silently dropped each time the index is loaded — entries at the end are already invisible to readers. Rewrite it to under 140 lines now: keep one line per entry, move detail into topic files, and merge or drop stale entries.

Hanya konten yang dimuat yang dihitung terhadap batas. Frontmatter YAML dan komentar HTML tingkat blok dihapus sebelum indeks dimuat, sehingga keduanya dikecualikan dari pengukuran. Sebelum v2.1.211, Claude Code mengukur file mentah, dan frontmatter atau komentar dapat memicu error ini bahkan ketika konten yang dimuat masih muat.

Claude Code menyampaikan error tersebut kepada Claude setelah penulisan, bukan mencetaknya sebagai banner di terminal Anda, sehingga Anda mungkin hanya melihatnya di transkrip.

Ketika penulisan Claude membuat file mendekati batas tanpa melewatinya, Claude Code mengembalikan pengingat yang lebih ringan untuk memadatkan indeks alih-alih error ini.

Yang perlu dilakukan:

  • Biarkan Claude menulis ulang MEMORY.md, atau minta Claude melakukannya: pertahankan satu baris per entri, pindahkan detail ke file topik, dan gabungkan atau buang entri yang usang
  • Untuk memangkas indeks sendiri, lihat Audit dan edit memori Anda

pkill pattern matches the Claude Code process

Perintah pkill dalam panggilan tool Bash menggunakan pola, biasanya dengan -f, yang cocok dengan proses Claude Code itu sendiri, sehingga Claude Code menolak perintah tersebut alih-alih membiarkannya mengakhiri sesi. Claude Code menguji pola dengan pgrep sebelum menjalankan pkill dan menolak ketika ID prosesnya sendiri ada dalam hasil. Pemeriksaan ini hanya berjalan di Linux; di macOS, pkill berjalan tanpa modifikasi. Sebelum v2.1.214, perintah tersebut berjalan, dan pola yang cocok menghentikan sesi Claude Code di tengah giliran.

pkill: refusing to run — this pattern matches the Claude CLI process (PID 12345). Narrow the pattern, or target your own children with `pkill -P $$ ...`.

Penolakan muncul dalam hasil tool Bash, bukan sebagai banner di terminal Anda, dan Claude biasanya menyesuaikan perintah dengan sendirinya.

Yang perlu dilakukan:

  • Persempit pola agar hanya cocok dengan proses yang dimaksud, misalnya path lengkap dari biner target, bukan substring pendek
  • Untuk menghentikan proses yang dimulai oleh shell saat ini, gunakan pkill -P $$ dengan pola tersebut, yang membatasi kecocokan pada proses anak milik shell itu sendiri

Failed to write to a teammate's inbox

Claude Code tidak dapat menulis pesan ke file kotak surat rekan tim di bawah ~/.claude/teams/{team-name}/inboxes/, sehingga penerima tidak menerima apa pun. Penulisan gagal ketika Claude Code tidak dapat membuat atau memperbarui file, misalnya karena disk penuh, direktori tidak dapat ditulisi, atau agent lain memegang kunci inbox terlalu lama. Sebelum v2.1.224, Claude Code melaporkan pesan sebagai terkirim bahkan ketika penulisan gagal.

Error muncul dalam hasil tool agent pengirim, bukan sebagai banner di terminal Anda, dan teksnya memberi tahu Claude untuk mencoba lagi:

Failed to write to researcher's inbox — nothing was sent. Try again, or message the lead.

Pesan protokol tim agent yang terstruktur gagal dengan cara yang sama, dan error tersebut menyebutkan pesan yang tidak terkirim: ketika Claude Code tidak dapat menulis persetujuan rencana, penolakan rencana, permintaan shutdown, atau penolakan shutdown, error berbunyi Failed to write the <message> to <name>'s inbox — nothing was sent. plan approval dalam daftar tersebut adalah keputusan lead yang menyetujui rencana rekan tim; pengajuan rencana dari rekan tim adalah pesan plan approval request yang terpisah. Pesan tersebut dan dua pesan protokol lainnya membawa teks pesan dan konsekuensinya sendiri:

  • Failed to write the plan approval request to the lead's inbox — plan not submitted; try again: rencana rekan tim tidak pernah sampai ke lead, dan rekan tim tetap berada dalam plan mode hingga pengajuan ulang berhasil
  • The permission request could not be delivered to the team lead (mailbox write failed): permintaan izin rekan tim tidak pernah sampai ke lead, sehingga tidak ada yang menyetujui panggilan tool
  • The confirmation could not be written to team-lead's inbox.: persetujuan shutdown itu sendiri berlaku dan rekan tim keluar; hanya konfirmasi ke lead yang hilang

Ketika Anda sendiri mengirim pesan ke rekan tim, dengan mengetik @name diikuti pesan di sesi lead, kegagalan yang sama muncul sebagai notifikasi, Couldn't write to @name's inbox — message not sent. Try again., dan Claude Code mempertahankan teks Anda di kotak prompt sehingga Anda dapat mengirimnya lagi.

Yang perlu dilakukan:

  • Minta pengirim untuk mengirim ulang pesan; perebutan kunci inbox bersifat sementara dan hilang saat dicoba ulang
  • Periksa ruang disk yang tersedia, dan periksa bahwa ~/.claude/teams serta file di bawahnya dapat ditulisi oleh pengguna Anda

Teammate's agent definition was not restored

Claude mengirim pesan ke rekan tim tim agent yang telah berhenti, dan Claude Code menghidupkannya kembali tanpa menerapkan ulang definisi subagent yang digunakan saat rekan tim itu dibuat. Pemberitahuan ini mengikuti laporan resume dalam hasil tool agent pengirim dan menyebutkan alasannya. Ketika file definisi berasal dari folder tanpa kepercayaan yang tersimpan, pemberitahuan berbunyi:

Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.

Pemeriksaan ini berlaku untuk definisi di direktori .claude/agents/ dari proyek atau dari direktori --add-dir, dan menerima dialog kepercayaan untuk folder induk tidak memenuhinya.

Yang perlu dilakukan:

  • Jalankan claude di folder yang disebutkan log debug dan terima dialog kepercayaan. Definisi diterapkan ulang saat berikutnya Claude Code menghidupkan kembali rekan tim; Anda tidak perlu memulai ulang sesi lead
  • Atau setel entri hasTrustDialogAccepted ke true di ~/.claude.json, menggunakan kunci projects["<path>"] persis seperti yang dicetak log debug

Only a teammate can approve a shutdown request

Claude Code menolak persetujuan shutdown tim agent karena sesi yang mengirimnya tidak berjalan sebagai rekan tim. Tidak ada yang dikirim dan tidak ada yang dimatikan. Penolakan muncul dalam hasil tool sesi pengirim:

Only a teammate can approve a shutdown request, and this session is not running as one. Nothing was sent. To shut down a teammate, send that teammate a shutdown_request message. The teammate is the one that approves it.

Yang perlu dilakukan:

  • Jika penolakan muncul di sesi lead Anda, pertama periksa apakah rekan tim sudah dimatikan sejak itu. Penolakan dikembalikan kepada Claude dengan instruksi untuk mengirim shutdown_request sebagai gantinya, dan giliran berlanjut. Dalam sesi lead interaktif, <name> has shut down. muncul ketika rekan tim menyetujui permintaan shutdown.
  • Jika rekan tim masih berjalan, minta lead di prompt-nya untuk mematikan rekan tim, misalnya Ask the researcher teammate to shut down. Lihat Mematikan rekan tim.
  • Jika mantan rekan tim yang Anda lanjutkan sendiri dengan claude --resume mendapat penolakan ini, tidak ada yang dikirim. Untuk mengakhiri sesi tersebut, jalankan /exit di prompt-nya.

A command-line deny rule cannot be handed to a teammate intact

Pesan ini berarti Claude Code tidak memulai rekan tim split-pane dalam tim agent Anda. Claude Code meneruskan aturan deny baris perintah milik lead ke rekan tim split-pane melalui baris perintah rekan tim itu sendiri, dan berhenti ketika rekan tim akan membaca salah satu aturan tersebut secara berbeda:

A command-line deny rule cannot be handed to a teammate intact, so the teammate would not enforce it — spawn aborted

Yang perlu dilakukan:

  • Jalankan /config di sesi lead dan setel Teammate mode ke in-process, lalu minta Claude untuk memulai rekan tim lagi. Anda tidak perlu menemukan aturan tersebut atau memulai ulang lead. Rekan tim in-process berjalan di bawah aturan deny aktif milik lead.
  • Sesi berikutnya yang mengambil teammateMode dari pengaturan pengguna Anda juga memulai rekan tim secara in-process, karena /config menyimpan pilihan tersebut di sana. Untuk kembali ke split pane di sesi berikutnya, setel Teammate mode ke auto, tmux, atau iterm2, mana pun yang Anda gunakan sebelumnya.

Message too large for cross-session delivery

Pesan lintas sesi Claude ke sesi Anda yang lain di mesin ini terlalu panjang untuk dikirim. Claude Code menolaknya, dan sesi penerima tidak mendapatkan apa pun. Penolakan muncul dalam hasil tool sesi pengirim, bukan sebagai banner di terminal Anda. Penolakan tersebut menyebutkan kedua ukuran dan cara membuat pesan muat:

Failed to send to api-worker: Message too large for cross-session delivery: the serialized message is 1,203,844 characters and the limit is 1,048,576. Shorten the message text — put bulk content in a file the recipient can read rather than in the message — or split it into smaller messages.

Mengirim ulang teks yang sama gagal dengan cara yang sama.

Yang perlu dilakukan:

  • Minta Claude untuk meringkas pesan, atau untuk menaruh konten besar di sebuah file dan mengirim path file tersebut
  • Minta Claude untuk membagi konten ke beberapa pesan yang lebih pendek

Sebelum v2.1.235, Claude Code melaporkan pesan yang terlalu besar sebagai terkirim. Sesi penerima membuangnya tanpa dibaca.

Too many messages to this session just now

Claude mengirim serangkaian pesan lintas sesi secara cepat ke salah satu sesi Anda di mesin ini, dan rangkaian tersebut mencapai batas yang diterima inbox sesi itu. Claude Code menolak pengiriman berikutnya, dan sesi penerima tidak mendapatkan apa pun darinya. Penolakan muncul dalam hasil tool sesi pengirim, bukan sebagai banner di terminal Anda:

Failed to send to api-worker: Too many messages to this session just now: 30 were sent recently and more would be dropped by its rate limit, so this one was not sent. Batch what remains into one message, or wait a little before sending more.

Yang perlu dilakukan:

  • Biasanya tidak ada: Claude menggabungkan sisa konten menjadi satu pesan, atau menunggu sebelum mengirim lebih banyak
  • Jika Anda sendiri yang memicu rangkaian tersebut, minta Claude untuk menggabungkan sisanya menjadi satu pesan

Sebelum v2.1.236, Claude Code melaporkan pengiriman ini sebagai terkirim. Sesi penerima membuangnya tanpa dibaca.

Cross-session message was dropped at the recipient session's inbox

Claude mengirim pesan lintas sesi ke sesi Anda yang lain di mesin ini, dan inbox sesi tersebut membuangnya sebelum Claude di sesi itu membacanya. Baris tersebut menyebutkan penerima dan, ketika penerima memberikan alasan, menambahkan alasan setelah tanda pisah:

Cross-session message was dropped at the recipient session's inbox (recipient: uds:/tmp/cc-socks/13605.sock) and not delivered — its queue of undelivered peer messages was full. Claude was told not to resend right away.

Satu baris dapat mencakup beberapa pesan yang dibuang. Baris tersebut kemudian dimulai dalam bentuk jamak, misalnya Cross-session messages (12) were dropped. Untuk menemukan sesi mana yang memiliki suatu alamat, bandingkan dengan baris Peer address yang ditampilkan /status di setiap sesi.

Setelah tanda pisah, baris tersebut memberikan satu atau beberapa alasan berikut:

  • its queue of undelivered peer messages was full: penerima sudah menampung pesan yang belum terkirim dari sesi lain sebanyak yang diizinkan antreannya
  • you sent faster than that session accepts: pesan sesi pengirim tiba lebih cepat daripada yang diterima penerima dari satu pengirim
  • it repeated your previous message: pesan tersebut identik dengan pesan yang dikirim sesi pengirim ke penerima ini sesaat sebelumnya
  • a relay loop between sessions was cut: pesan tersebut melanjutkan rantai sesi yang saling mengirim pesan, dan rantai tersebut telah melewati penerima terlalu banyak kali atau menjadi terlalu panjang

Yang perlu dilakukan:

  • Anggap penerima tidak pernah melihat pesan yang dibuang. Claude Code memberi tahu Claude hal yang sama, dan memberitahunya untuk menyertakan apa pun yang masih penting dalam satu pesan berikutnya alih-alih langsung mengirim ulang
  • Jika sesi Anda sering saling mengirim pembaruan, minta Claude untuk mengirim lebih sedikit pesan yang lebih besar, seperti satu laporan ketika sebuah sesi menyelesaikan pekerjaannya
  • Untuk a relay loop between sessions was cut, ketik sendiri instruksi berikutnya ke salah satu sesi. Pesan yang dikirim Claude sebagai respons terhadap prompt Anda sendiri memulai rantai baru

Sebelum v2.1.238, sesi pengirim tidak mendapat laporan ketika inbox penerima membuang pesan.

Refusing to send a cross-session message

Sebelum Claude Code menulis pesan lintas sesi ke sesi Anda yang lain di mesin ini, Claude Code memeriksa bahwa socket inbox sesi target adalah endpoint yang dituju pesan tersebut. Ketika suatu pemeriksaan gagal, Claude Code menolak pengiriman di sesi pengirim, dan sesi target tidak menerima apa pun. Untuk pesan yang dikirim Claude, penolakan muncul dalam hasil tool sesi pengirim:

Failed to send to api-worker: Refusing to send: reply target is a symlink

Teks setelah Refusing to send: menyebutkan pemeriksaan yang gagal:

  • reply target is a symlink: sebuah symbolic link berada di path socket sesi target. Claude Code tidak mengirim melaluinya, karena link di sana dapat mengalihkan pesan ke endpoint yang tidak dibuat oleh sesi target.
  • cannot vet reply target: Claude Code sama sekali tidak dapat memeriksa path target, misalnya karena pembacaannya gagal dengan error permission.

Yang perlu dilakukan:

  • Biasanya tidak ada: pemeriksaan ini mencegah pesan mencapai endpoint selain sesi yang dituju, dan tidak ada yang dikirim
  • Jika reply target is a symlink berulang untuk satu sesi, periksa apa yang membuat link di path socket sesi tersebut, yang ditampilkan dalam /status-nya di bawah Peer address

Refusing to read, write, or search a path

Claude Code memeriksa aturan izin suatu path file, lalu mengonfirmasi resolusi tersebut lagi ketika tool membuka file atau memulai pencarian. Ketika Claude Code tidak dapat mengonfirmasi bahwa path tersebut masih mengarah ke lokasi yang disetujui pemeriksaan, Claude Code menolak operasi tersebut alih-alih mengikutinya. Penolakan muncul dalam hasil tool:

Refusing to read /path/to/file: its symlink resolution changed after permission was checked (a link on the way now leads somewhere the check did not see). If a link in the working directory is being rewritten concurrently, stop that and retry.

Setiap penolakan menyebutkan alasannya:

  • its symlink resolution changed after permission was checked: sebuah symlink di sepanjang path, atau pada root pencarian Grep atau Glob, diganti di antara pemeriksaan izin dan operasi. Dalam penolakan baca, frasa dalam tanda kurung menyebutkan perbandingan mana yang gagal.
  • its parent-directory symlink resolution changed after permission was checked: direktori yang dilalui path penulisan tidak lagi di-resolve ke lokasi yang disetujui
  • where it leads on disk could not be determined (a link on the way could not be examined, or the links do not resolve): Claude Code tidak dapat mengikuti path ke lokasi akhir di disk, misalnya karena symlink di path tersebut membentuk loop
  • it is a symbolic link. Write to the link's target path instead: sebuah symbolic link berada di lokasi penulisan yang diminta itu sendiri, misalnya CLAUDE.md yang merupakan symlink ke AGENTS.md; pesan tersebut mengarahkan Claude ke target link
  • Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.: kondisi yang sama yang terdeteksi ketika penulis lain membuka file, seperti penulisan ke .mcp.json yang merupakan symlink
  • Refusing to write into symlinked directory: <path>: direktori yang menampung file itu sendiri adalah symbolic link, misalnya direktori .claude/ proyek yang ditautkan ke lokasi lain
  • a path one of its Read deny rules is written through changed while the search was being prepared. Retry.: aturan deny Read untuk pencarian menyebutkan path yang melewati symlink, dan link tersebut berubah ketika Claude Code sedang menyiapkan pencarian
  • it could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.: root pencarian ada tetapi tidak dapat dibuka; kode dalam tanda kurung adalah error sistem operasi
  • its permission check expired before it ran (too many concurrent file operations). Retry.: Claude Code mengeluarkan catatan persetujuan di bawah banyak operasi file simultan sebelum tool menggunakannya; mencoba ulang menjalankan pemeriksaan izin yang baru
  • ripgrep was found only by name on PATH, and a search outside the working directory cannot apply your Read deny rules in that configuration: Claude Code tidak dapat me-resolve biner rg ke path absolut, sehingga menolak pencarian di luar direktori kerja alih-alih menjalankan pencarian yang tidak tercakup aturan deny Anda

Yang perlu dilakukan:

  • Biasanya tidak ada: penolakan sampai ke Claude sebagai hasil tool, dan operasi yang ditolak tidak berjalan
  • Jika penolakan symlink berulang pada satu path, temukan apa yang terus menulis ulang link di sana, seperti tool build atau file watcher, atau minta Claude menggunakan path file yang sudah di-resolve alih-alih path yang ditautkan
  • Jika penolakan ini muncul untuk setiap file saat Claude Code berjalan di Windows di dalam AppContainer atau sandbox restricted-token, tingkatkan ke v2.1.265 atau yang lebih baru
  • Jika penolakan baca muncul di macOS untuk file yang tidak sedang ditulis ulang oleh apa pun, seperti tangkapan layar yang diseret ke prompt, tingkatkan ke v2.1.273 atau yang lebih baru
  • Untuk penolakan ripgrep, instal ripgrep dengan package manager Anda agar rg di-resolve ke path absolut di PATH, atau pertahankan pencarian di bawah direktori kerja

Sebelum v2.1.251, Claude Code memeriksa ulang resolusi path hanya untuk penulisan file, sehingga link yang diganti setelah pemeriksaan izin dapat mengalihkan pembacaan atau pencarian ke lokasi berbeda tanpa pesan. Dari semua ini, hanya penolakan penulisan parent-directory, through-symlink, dan symlinked-directory yang muncul pada versi sebelumnya.

Sebelum v2.1.280, penolakan where it leads on disk could not be determined tidak muncul.

The search failed, so this is not a "no matches" result

Pencarian Grep atau Glob yang dijalankan Claude gagal sebelum mengembalikan hasil apa pun, sehingga tidak diketahui apakah ada kecocokan. Pesan yang diterima Claude sebagai pengganti hasil dimulai dengan:

The search failed, so this is not a "no matches" result: matches may exist. What happened to the search program (ripgrep) is not known, and no results were read. Run the search once more. If it fails again, tell the user that searches are failing.

Yang perlu dilakukan:

  • Pertama kali muncul: tidak ada. Pesan tersebut meminta Claude untuk mencari lagi terlebih dahulu.
  • Jika Claude mengatakan pencarian terus gagal: tangkap error ripgrep untuk laporan bug:
    1. Dari shell Anda, mulai sesi dengan flag yang sama seperti sesi tempat pencarian gagal, ditambah --debug-file claude-debug.log
    2. Kirim kepada Claude permintaan yang menyebabkan pencarian gagal
    3. Jika pencarian gagal lagi, temukan baris yang berisi rg error (signal= di claude-debug.log
    4. Sertakan baris tersebut ketika Anda melaporkan masalah

Task output swap refused

Claude Code menyimpan output setiap perintah Bash ke file di bawah direktori temp-nya. Setiap kali membuka salah satu file ini, Claude Code memeriksa bahwa path tersebut masih mengarah ke file yang dibuatnya, tanpa symbolic link, hard link tambahan, atau direktori yang dipindahkan yang mengalihkannya. Pesan ini berarti pemeriksaan tersebut gagal, sehingga Claude Code menolak operasi alih-alih menulis atau membaca output melalui path tersebut. Pesan muncul dalam hasil tool Bash:

task output swap refused (tasks dir moved or linked): /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks/b7k2f9m3q.output. To recover: restart Claude Code with CLAUDE_CODE_TMPDIR set to a fresh directory; or, if /private/tmp/claude-501/-Users-you-my-project is a stray directory or a symbolic link that should not be there, remove that entry itself (not what it points to) and restart.

Teks dalam tanda kurung menyebutkan pemeriksaan yang gagal. Alasan seperti output symlink was re-pointed, output file identity changed, dan not a regular file semuanya melaporkan kondisi yang sama: sesuatu di atau di sepanjang path output bukan lagi file yang dibuat Claude Code. Hanya beberapa alasan yang membawa kalimat To recover:.

Jika pemeriksaan gagal saat perintah masih berjalan, Claude Code menghentikan perintah tersebut, dan hasilnya melaporkan:

Command killed: its output file was replaced or could no longer be verified

Yang perlu dilakukan:

  • Tingkatkan ke v2.1.260 atau yang lebih baru. Versi sebelumnya terkadang menampilkan pesan ini ketika tidak ada link atau direktori yang dipindahkan
  • Mulai ulang Claude Code dengan CLAUDE_CODE_TMPDIR disetel ke direktori baru
  • Atau periksa direktori proyek Anda di bawah direktori temp Claude Code, /private/tmp/claude-501/-Users-you-my-project dalam contoh pesan. Jika path tersebut adalah symbolic link, atau direktori yang seharusnya tidak ada di sana, hapus link atau direktori itu sendiri, bukan target link-nya, dan mulai ulang Claude Code
  • Jika penolakan berulang, ada proses yang mengganti, menautkan, atau menghapus entri di bawah direktori temp Claude Code saat sesi berjalan. Setel CLAUDE_CODE_TMPDIR ke direktori yang tidak dikelola oleh hal lain dan mulai ulang

Disk full or disk quota used up

Kosongkan ruang, inode, atau kuota disk di volume yang menampung direktori sementara Claude Code. Baris dalam hasil perintah yang dimulai dengan Disk full:, Disk quota used up:, atau Nearly out of inodes: menyebutkan direktori tersebut.

Claude Code menyimpan output setiap perintah Bash dan PowerShell ke file di bawah direktori tersebut. Jika Claude Code tidak dapat membuat file itu karena volume atau kuota Anda di volume tersebut penuh, perintah Anda tidak dimulai, dan hasil yang dibaca Claude adalah:

The command was not started: this computer's disk is full (ENOSPC) on the volume holding /tmp/claude-501 (Claude Code's temporary directory), so the file that captures command output could not be created there and nothing ran. Free space on that volume, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another one, then retry. If this is the user's own computer, tell them before deleting anything to make room.

Pesan Disk full:, Disk quota used up:, dan Nearly out of inodes: mengikuti perintah yang berjalan dan keluar dengan kode bukan nol. Misalnya:

Disk full: this computer's volume holding /tmp/claude-501 (Claude Code's temporary directory) has 3 MB free, so whatever this command printed was lost and its own writes may have failed with "No space left on device". Free space on that volume, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another one, then retry. If this is the user's own computer, tell them before deleting anything to make room.

Yang perlu dilakukan:

  • Di macOS dan Linux, jalankan df -h <dir> di shell Anda untuk melihat volume mana yang menampung direktori tersebut dan seberapa penuh volume itu. df -i <dir> menunjukkan berapa banyak inode yang tersedia. <dir> adalah direktori yang disebutkan pesan Anda, seperti dalam df -i /tmp/claude-501
  • Disk full: this computer's volume atau disk is full (ENOSPC): di mana pun pada volume tersebut, hapus file yang tidak Anda perlukan
  • Disk quota used up:, disk quota is used up (EDQUOT), atau Disk full: a test write: hapus file milik Anda sendiri di volume tersebut, meskipun volume itu masih menunjukkan ruang kosong
  • Nearly out of inodes:: hapus banyak file di volume tersebut. Setiap file menggunakan satu inode berapa pun ukurannya, sehingga yang penting adalah jumlahnya, bukan ukurannya
  • Atau mulai ulang Claude Code dengan CLAUDE_CODE_TMPDIR disetel ke direktori di volume yang memiliki ruang
  • Kemudian minta Claude menjalankan perintah tersebut lagi

Sebelum v2.1.309, pesan-pesan tersebut berbunyi sebagai berikut, dan langkah yang sama berlaku:

  • Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)
  • The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)
  • Command output was lost: the temp filesystem at <dir> is full atau ... is out of inodes
  • The command was not started: this computer's disk is full (ENOSPC), so the file that captures command output could not be created. Nothing ran., atau yang sama dengan (EDQUOT). Bentuk ini tidak menyebutkan direktori: periksa volume yang menampung direktori temp sistem Anda, seperti /tmp, atau direktori yang disetel di CLAUDE_CODE_TMPDIR

Sebelum v2.1.305, perintah yang tidak dapat dimulai Claude Code karena disk penuh hanya mengembalikan teks error sistem operasi. Teks tersebut berbunyi, misalnya, ENOSPC: no space left on device, open <path>.output.

git is not installed on this Mac

Pesan ini berarti suatu langkah di Claude Code memerlukan git, dan git yang ditemukannya adalah pengganti sementara dari Apple di /usr/bin/git. Alat pengembang yang menyediakan git tidak terinstal.

Claude Code tidak menjalankan pengganti sementara tersebut dan menampilkan teks ini sebagai gantinya, misalnya di dalam pesan yang lebih panjang:

git is not installed on this Mac. To install it, run xcode-select --install, then try again.

Yang perlu dilakukan:

  • Di Terminal, jalankan xcode-select --install, selesaikan instalasi yang dimulainya, lalu coba lagi apa yang sedang Anda lakukan di Claude Code

File is not valid UTF-8

Claude menggunakan tool Edit atau NotebookEdit pada file yang byte-nya tidak dapat didekode sebagai UTF-8, dan Claude Code menolak perubahan tersebut. Tidak ada yang ditulis, sehingga file tetap seperti sebelumnya. Tool tersebut menyimpan kembali seluruh file sebagai UTF-8, yang akan mengubah setiap byte yang tidak dapat didekodenya menjadi karakter pengganti U+FFFD. Pesan muncul dalam hasil tool:

File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary. This tool saves the whole file as UTF-8, which would replace every byte it cannot decode with U+FFFD. Nothing was written. Make the change with a shell command that reads and writes the file in its own encoding, or ask the user whether to convert the file to UTF-8 first.

File yang dimaksudkan sebagai UTF-8 juga mendapat pesan ini ketika berisi bahkan satu urutan byte yang tidak valid, karena pemeriksaan mencakup byte file secara keseluruhan.

Yang perlu dilakukan:

  • Untuk mempertahankan file dalam encoding-nya saat ini, biarkan Claude melakukan perubahan dengan perintah shell yang membaca dan menulis file dalam encoding tersebut, sebagaimana diinstruksikan pesan
  • Untuk terus mengedit file dengan tool Edit, konversikan ke UTF-8, atau perbaiki byte yang tidak valid dalam file yang dimaksudkan sebagai UTF-8, lalu minta Claude melakukan pengeditan lagi

Sebelum v2.1.296, Edit dan NotebookEdit menerapkan pengeditan seperti itu dan menyimpan setiap byte yang tidak dapat didekodenya sebagai U+FFFD. Pada versi tersebut, perbarui Claude Code.

Refusing to apply edits: a hook is configured for file edits in this session

Claude mencoba memublikasikan artifact dengan pembaruan satu langkah, yaitu perubahan kecil pada file artifact yang disertakan dalam publikasi, dan Claude Code menolaknya. Tidak ada yang dipublikasikan dan file tidak berubah. Pesan muncul dalam hasil tool Artifact:

Refusing to apply edits to <path>: a hook is configured for file edits in this session, so a publish can't apply edits here. Edit the file, then publish it without edits. Nothing was published.

Claude Code tidak mengizinkan pembaruan satu langkah selama sesi Anda memiliki hook PreToolUse atau mod pada Edit atau Write.

Yang perlu dilakukan:

  • Tidak ada, jika Claude melanjutkan dengan mengedit file dan memublikasikannya
  • Jika Claude berhenti pada pesan tersebut, minta Claude untuk mengedit file dan memublikasikannya
  • Jika pesan terus muncul kembali, keluar dan luncurkan ulang Claude Code
  • Jika pesan tetap muncul kembali bahkan setelah peluncuran ulang, matikan pembaruan satu langkah

The source file is not valid UTF-8 text

Claude mencoba memublikasikan artifact dari file yang byte-nya tidak dapat didekode sebagai teks, atau yang teksnya sudah berisi karakter pengganti U+FFFD, sehingga Claude Code menolak publikasi sebelum mengunggah apa pun. Pesan muncul dalam hasil tool Artifact dan menyebutkan posisi pertama yang perlu diperbaiki:

file_path: the source file is not valid UTF-8 text (first invalid byte at line 12, column 40). It may be saved in another encoding or contain binary data. Rewrite it as UTF-8, then publish again. Nothing was published.

file_path: the source file has the replacement character U+FFFD at line 12, column 40, usually left where an earlier edit or paste lost a character. Replace it with the intended text (in HTML, write an intended U+FFFD as &#xFFFD;), then publish again. Nothing was published.

Claude Code mendekode file sebagai UTF-8, atau sebagai UTF-16 ketika file dimulai dengan byte-order mark UTF-16 little-endian. Ketika file UTF-16 seperti itu tidak dapat didekode, pesan pertama menyebutkan UTF-16 dan tetap meminta Anda menulis ulang file sebagai UTF-8. Ketika ada posisi lain setelah posisi yang disebutkan, pesan menambahkan hitungan seperti (+2 more) setelah posisi tersebut.

Yang perlu dilakukan:

  • Biasanya tidak ada: Claude menulis ulang file dan memublikasikannya lagi
  • Jika file tersebut adalah file yang Anda tulis atau ekspor, simpan lagi sebagai UTF-8, dan ganti setiap U+FFFD dengan karakter yang hilang akibat pengeditan, penempelan, atau konversi sebelumnya
  • Untuk menampilkan U+FFFD yang disengaja di halaman, tulis sebagai &#xFFFD; di HTML alih-alih karakter literal

Sebelum v2.1.267, Claude Code mengunggah file seperti itu tanpa memeriksanya, dan server yang menolak publikasi.

Not published: that file is on a network share

Claude mencoba memublikasikan artifact dari file di path yang menyebutkan host jaringan:

  • Di Windows, path \\server\share yang tidak berada di bawah drive jaringan yang dipetakan yang Anda berikan saat peluncuran dengan --add-dir
  • Di macOS atau Linux, path automount seperti /net/<host>/page.html

Mencari path seperti itu menghubungi host yang disebutkannya, dan di Windows kontak tersebut dapat mengirimkan kredensial Anda ke host. Claude Code menolak memublikasikan file dan tidak membacanya. Penolakan muncul dalam hasil tool Artifact:

Not published: that file is on a network share. Publish a file from this session's folders instead.

Yang perlu dilakukan:

  • Tidak ada, jika Anda tidak memerlukan file tersebut secara spesifik: pesan memberi tahu Claude untuk memublikasikan file dari folder sesi itu sendiri
  • Untuk memublikasikan file tersebut secara spesifik, salin ke folder di disk lokal dan minta lagi
  • Di Windows, untuk membiarkan Claude memublikasikan langsung dari share, petakan ke huruf drive dan berikan drive tersebut ketika Anda memulai Claude Code. Di PowerShell, misalnya, jalankan net use Z: \\server\share lalu claude --add-dir Z:\. Claude kemudian dapat memublikasikan file dari drive tersebut. Menambahkan drive di tengah sesi dengan /add-dir tidak cukup.
  • Di macOS atau Linux, mount share di direktori seperti salah satu di bawah /mnt atau /Volumes, dan publikasikan dari path tersebut alih-alih path automount

Not published: Claude sent the same content again after a newer version of the artifact turned it away

Baris merah di bawah panggilan Artifact ini berarti Claude Code menghentikan publikasi berulang: artifact tidak diperbarui, dan tidak ada yang ditulis ke file yang dipublikasikan Claude. Anda tidak perlu melakukan apa pun kecuali Claude berhenti tanpa memublikasikan.

Sebelumnya dalam sesi, Claude Code menolak publikasi karena artifact memiliki versi yang lebih baru, misalnya versi yang dipublikasikan oleh editor atau oleh sesi Anda yang lain. Akhir baris tersebut menyatakan apa yang harus dilakukan Claude selanjutnya:

Not published: Claude sent the same content again after a newer version of the artifact turned it away. Claude needs to work from that newer version first.
Not published: Claude sent the same content again after a newer version of the artifact turned it away. The artifact hasn't changed since, so publishing it once more should go through.
Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. Claude needs to work from that newer version first.
Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. The artifact hasn't changed since, so publishing once more should go through.

Yang perlu dilakukan:

  • Berakhir dengan Claude needs to work from that newer version first: jika Claude berhenti di sana, minta Claude untuk mengambil versi artifact saat ini, menggabungkan perubahannya, dan memublikasikan lagi
  • Berakhir dengan should go through: jika Claude berhenti di sana, minta Claude untuk memublikasikan lagi

Membaca file lokal dari luar folder yang terhubung dalam sesi Cowork

Dalam sesi Cowork yang berjalan di mesin Anda di aplikasi Claude Desktop, Claude menyebutkan file lokal untuk sebuah artifact. Claude Code tidak dapat mengonfirmasi bahwa file tersebut adalah file biasa di dalam folder yang terhubung dengan sesi: path berada di luar folder tersebut, melewati symbolic link, atau dieja dengan cara yang dapat menyebutkan file yang berbeda dari yang terlihat. Membaca file seperti itu memerlukan persetujuan Anda, dan dalam sesi yang tidak dapat menampilkan kartu persetujuan kepada Anda, seperti sesi yang disetel untuk melewati semua persetujuan, Claude Code menolak pembacaan tersebut.

Penolakan muncul dalam hasil tool Artifact; ketika file sama sekali tidak dapat diperiksa, penolakan menyebutkan kegagalan tersebut sebagai gantinya:

Reading a local file from outside this session's connected folders, or through a link, needs the approval card, and no one can answer it in this Cowork session. Use a plain file inside the connected folders; do not retry this file in this session.

cannot read file_path (ENOENT) — the file could not be examined, and no one can answer the approval card in this Cowork session. Check that the file exists as a plain file inside the connected folders, then retry with that path.

Yang perlu dilakukan:

  • Biasanya tidak ada: pesan memberi tahu Claude untuk menggunakan file biasa di dalam folder yang terhubung
  • Untuk memasukkan file tersebut secara spesifik ke dalam artifact, salin ke salah satu folder yang terhubung dengan sesi sebagai file biasa, bukan symlink, dan minta lagi

WebFetch cannot fetch localhost

Claude memanggil WebFetch dengan URL yang hostname-nya tidak memiliki titik, seperti http://localhost:3000 atau nama intranet tunggal seperti http://wiki/. WebFetch menolak URL ini sebelum membuat permintaan apa pun:

WebFetch cannot fetch localhost or other hostnames without a dot. To reach a local server, use Bash with curl instead.

Yang perlu dilakukan:

  • Biasanya tidak ada: pesan mengarahkan Claude ke curl melalui tool Bash, yang dapat menjangkau server lokal dan intranet

Sebelum v2.1.268, WebFetch melaporkan URL ini dengan error generik Invalid URL.

WebFetch domain safety check failed

Sebelum mengambil URL, WebFetch mengirim hostname URL ke api.anthropic.com untuk memeriksanya terhadap blocklist keamanan domain Anthropic. Jika pemeriksaan tidak dapat diselesaikan, WebFetch tidak dapat mengonfirmasi bahwa domain tersebut aman, sehingga tidak mengambil halaman dan hasil tool membawa salah satu pesan berikut sebagai gantinya:

The safety check for domain example.com is rate-limited (too many domain checks from this network; the limit is shared and can stay exhausted for minutes). Do not retry WebFetch in a loop or sleep to wait it out; continue without this page and report that its safety check was rate-limited. A single later attempt is fine; if that is rate-limited too, stop.

Unable to verify if domain example.com is safe to fetch. This may be due to network restrictions or enterprise security policies blocking claude.ai.
  • rate-limited: endpoint pemeriksaan menjawab dengan HTTP 429. Pesan memberi tahu Claude untuk melanjutkan tanpa halaman tersebut dan mencoba lagi paling banyak sekali nanti. Claude Code tidak menyimpan pemeriksaan yang gagal di cache, sehingga pengambilan domain tersebut berikutnya menjalankan pemeriksaan lagi. Jika sesi di jaringan Anda sering mengalami hal ini, Anda dapat melewati pemeriksaan dengan skipWebFetchPreflight: true di pengaturan.
  • Unable to verify: permintaan pemeriksaan gagal, mengalami timeout, atau mendapat status error lain. Jika jaringan Anda memblokir api.anthropic.com, masukkan domain tersebut ke allowlist, atau lewati pemeriksaan dengan skipWebFetchPreflight: true di pengaturan.

Sebelum v2.1.286, pesan rate-limited berbunyi The safety check for domain example.com is temporarily rate-limited (too many domain checks from this network). Retry after about a minute; retrying sooner will fail the same way.. Sebelum v2.1.285, pemeriksaan yang terkena rate limit dilaporkan dengan pesan Unable to verify sebagai gantinya.

Error sesi latar belakang

Sesi latar belakang berjalan tanpa terminal interaktifnya sendiri, sehingga perintah yang membutuhkan terminal berperilaku berbeda di sana. Pesan-pesan ini muncul di transkrip sesi latar belakang, di terminal yang terhubung ke sesi tersebut, di sesi atau shell tempat Anda melakukan dispatch, atau, untuk entri worktree-guard di bawah, di sesi mana pun yang diisolasi dalam worktree atau yang menjalankan subagent yang diisolasi dalam worktree; jika suatu pesan khusus untuk satu surface, entrinya akan menyebutkannya.

Perintah yang ditolak dalam sesi latar belakang

Perintah yang membuka dialog interaktif tidak dapat melakukannya selama tidak ada terminal yang terhubung ke sesi latar belakang. /install-github-app, daftar pengaturan /mcp, dan tindakan autentikasi di menu server MCP merespons dengan sebuah pesan. Untuk /install-github-app dan daftar pengaturan /mcp, sesi tersebut juga muncul di bawah Needs input di agent view sehingga Anda dapat menemukannya, terhubung, dan menjalankan perintah tersebut lagi. Selama terminal terhubung, perintah-perintah ini berfungsi normal.

Sebelum v2.1.216, sesi tidak muncul di bawah Needs input setelah /install-github-app atau daftar pengaturan /mcp ditolak. Pada v2.1.213 hingga v2.1.215, perintah-perintah tersebut tetap berfungsi selama terminal terhubung, dan pesan penolakan meminta Anda untuk terhubung dan menjalankan perintah lagi. Dari v2.1.208 hingga v2.1.212, Claude Code menolaknya bahkan saat terminal terhubung, dengan pesan seperti Can't open MCP settings in a background session; pada versi tersebut, jalankan perintah dari sesi claude biasa, atau lakukan upgrade. Sebelum v2.1.208, perintah-perintah tersebut membuka dialognya di dalam sesi latar belakang. Khusus di v2.1.208, Claude Code juga menolak pemilih /model dalam sesi latar belakang, dan /upgrade mencetak URL upgrade alih-alih membuka browser.

Kata-kata dalam pesan menyebutkan nama perintahnya. Daftar pengaturan /mcp melaporkan:

Can't open MCP settings while no terminal is attached to this background session. This session now shows "needs input" in agent view — open it and run /mcp to manage servers, or use `/mcp enable|disable|reconnect <server>` to steer without the panel.

Yang harus dilakukan:

  • Hubungkan ke sesi dari agent view dan jalankan perintah lagi
  • Atau gunakan bentuk yang disebutkan pesan, seperti /mcp reconnect <server>, /mcp enable, atau /mcp disable, yang berfungsi tanpa perlu terhubung

Penulisan atau perintah diblokir karena path tidak dapat di-resolve dengan aman

Claude merujuk ke sebuah file atau direktori kerja melalui ejaan path yang tidak dapat di-resolve oleh penjaga isolasi worktree ke satu lokasi yang dapat diverifikasi. Penjaga ini memeriksa penulisan dan direktori kerja perintah di sesi mana pun yang diisolasi dalam worktree, baik interaktif maupun latar belakang, serta di subagent yang diisolasi dalam worktree. Penjaga ini me-resolve symlink sebelum memeriksa bahwa operasi tidak mencapai checkout bersama, dan ketika proses resolve gagal, penjaga memblokir operasi tersebut alih-alih membiarkannya berakhir di sana. Pesan tersebut menyebutkan bentuk path yang ditolaknya dan cara mencoba ulang:

This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.

Perintah yang diblokir melaporkan penyebab yang sama untuk direktori kerjanya dan diakhiri dengan re-run the command from its direct symlink-free path. Sebelum v2.1.217, penjaga membandingkan ejaan path tanpa me-resolve symlink, sehingga ejaan-ejaan ini tidak diblokir dan penulisan yang diarahkan melalui symlink dapat berakhir di checkout bersama.

Yang harus dilakukan:

  • Biasanya tidak ada: pesan lengkap dikirim ke Claude sebagai error tool, dan Claude mencoba ulang dengan path langsung yang disebutkannya. Untuk pengeditan file yang diblokir, tampilan percakapan hanya menampilkan baris singkat Error editing file; pesan lengkapnya muncul di tampilan transkrip, yang Anda buka dengan Ctrl+O. Perintah yang diblokir mencetaknya di output perintahnya.
  • Jika pemblokiran berulang pada file yang sama, path tersebut kemungkinan melewati symlink yang telah di-commit yang targetnya berisi .., seperti docs/current -> ../README.md; minta Claude mengedit file target melalui path aslinya, bukan melalui tautan tersebut

Penulisan atau perintah diblokir karena path menunjuk lokasi jaringan

Claude merujuk ke sebuah file atau direktori kerja melalui path yang menunjuk drive yang tidak ada di mesin Anda, share UNC seperti \\server\share\file atau path automount /net, sementara checkout sesi berada di disk lokal. Penjaga isolasi worktree yang sama tidak dapat memverifikasi bahwa path semacam itu tetap berada di luar checkout bersama, sehingga penjaga memblokir operasi tersebut. Mengisolasi sesi dalam worktree tidak mencabut pemblokiran ini. Pesan tersebut menyebutkan bentuk path yang harus digunakan sebagai gantinya:

This write was blocked because the path is network-shaped (a UNC share or /net automount spelling) while this session's checkout is local. Isolating cannot unblock it. If the file is genuinely inside the worktree /path/to/worktree, address it by its local, plainly-spelled path instead.

Perintah yang diblokir melaporkan penyebab yang sama untuk direktori kerjanya dan diakhiri dengan re-run the command from its local, plainly-spelled path. Sebelum v2.1.217, penjaga hanya membandingkan teks path, sehingga merujuk ke file di dalam checkout melalui path UNC atau /net tidak diblokir.

Yang harus dilakukan:

  • Biasanya tidak ada: Claude mencoba ulang dengan ejaan lokal yang diminta oleh pesan tersebut

Perintah diblokir oleh pemeriksaan isolasi worktree

Claude menjalankan perintah Bash, PowerShell, atau Monitor dalam sesi yang diisolasi dalam worktree, dan Claude Code menolaknya karena salah satu alasan berikut:

  • Perintah akan berjalan di checkout utama atau di worktree lain. Pesan menyebutkan bahwa direktori kerjanya resolved to the shared checkout atau is in a different worktree.
  • Perintah Bash atau Monitor mengarahkan git ke checkout utama.
  • Claude Code tidak dapat memverifikasi dari teks perintah Bash atau Monitor bahwa git apa pun yang dijalankan perintah tersebut tetap berada di dalam worktree. Perintah yang sama sekali tidak menyebut git tetap dapat ditolak karena alasan ini, karena mengekspansi indireksi variabel seperti ${!name} atau menjalankan substitusi fungsi Bash seperti ${ command; } menghasilkan nilai saat runtime yang dapat berupa perintah itu sendiri.

Pesan tersebut menyebutkan is isolated in the worktree <path>, but this command, diikuti dengan alasannya, seperti perintah yang teksnya tidak dapat diverifikasi oleh Claude Code:

This session is isolated in the worktree /path/to/worktree, but this command evaluates ${!x@P} arithmetically inside a construct too complex to verify, which can run a command hidden in a variable's value. Refusing to run it — a worktree-isolated session's git operations must target its own worktree. Split it into plain, separate commands and run them from /path/to/worktree.

Yang harus dilakukan:

  • Git diarahkan ke checkout utama, atau teks perintah tidak dapat diverifikasi: tidak ada. Claude membaca pesan tersebut dan menulis ulang perintah sesuai permintaan kalimat terakhirnya. Jika perintah yang Anda minta terus ditolak karena suatu ekspansi dalam teksnya, tuliskan nilai yang ditandai secara literal dan jalankan git sebagai perintah tersendiri yang sederhana dari dalam worktree
  • Untuk bertindak pada checkout utama secara sengaja, jalankan perintah tersebut sendiri di terminal di luar sesi

This session has no saved transcript

Anda terhubung ke sesi yang Anda pindahkan ke latar belakang dengan ← atau /background dan sesi tersebut berhenti sebelum menjalankan gilirannya sendiri. Claude Code tidak dapat menemukan percakapan asal tempat Anda memindahkannya, sehingga sesi tersebut tidak memiliki apa pun untuk dilanjutkan. Pesan diakhiri dengan perintah claude respawn untuk sesi ini:

This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.

Membuka baris sesi yang sama di agent view menampilkan Press enter again to restart this session fresh di bawah daftar, dan menekan Enter kedua kalinya pada baris tersebut akan memulai ulang sesi dengan percakapan kosong.

Yang harus dilakukan:

  • Untuk memulai sesi yang berhenti dari awal, jalankan claude respawn <id> dengan ID dari pesan, atau tekan Enter dua kali pada barisnya di agent view
  • Jika sesi tersebut sebenarnya telah menyelesaikan respons dan Anda masih melihat penolakan ini pada versi sebelum v2.1.214, folder yang tidak dapat dibaca di ~/.claude/projects dapat membuat pemindaian transkrip melewatkan percakapan yang tersimpan; perbarui ke v2.1.214 atau lebih baru, yang menoleransi folder yang tidak dapat dibaca selama pemindaian

This session is running in another terminal

Anda membuka baris sesi yang berhenti di agent view, dan percakapan tersimpannya sudah terbuka di proses Claude Code aktif lain di mesin ini, sehingga Claude Code menolak memulai proses kedua yang akan menulis ke transkrip yang sama. Pesan yang Anda lihat bergantung pada apa yang memegang percakapan tersebut:

Can't open — this session is running in another terminal
This conversation is already open in another running Claude session — use that one, or close it and try again
  • running in another terminal: sebuah terminal memegang percakapan tersebut, misalnya terminal tempat Anda melanjutkannya dengan claude --resume atau /resume. Baris tersebut juga menampilkan Open in a terminal.
  • already open in another running Claude session: proses Claude Code non-interaktif lain memegangnya, misalnya proses sesi latar belakang untuk percakapan yang sama yang belum keluar.

Yang harus dilakukan:

  • Lanjutkan percakapan di proses yang membukanya, atau keluar dari proses tersebut lalu buka baris itu lagi

Sebelum v2.1.248, hanya penolakan already open in another running Claude session yang ada: percakapan yang dilanjutkan di terminal tidak dihitung sebagai terbuka, dan membuka baris tersebut memulai proses Claude Code kedua yang menulis ke percakapan yang sama.

This session's saved conversation is no longer on disk

Anda membuka sesi latar belakang yang berakhir saat layanan latar belakang mati, dan pembersihan transkrip sejak saat itu telah menghapus percakapan tersimpannya, misalnya setelah mesin mati selama berminggu-minggu. Membuka baris seperti itu biasanya melanjutkan percakapan tersimpannya. Karena tidak ada yang tersisa untuk dilanjutkan, Claude Code menolak alih-alih menjalankan ulang prompt asli sesi tanpa bertanya:

This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` deletes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.

claude attach <id> mencetak teks ini. Di agent view, footer lebih pendek dan diakhiri dengan ctrl+x deletes the row.

Yang harus dilakukan:

  • Jalankan claude rm <id> untuk menghapus baris tersebut. Ketika salah satu kasus yang dipertahankan berlaku, claude rm mempertahankan baris dan worktree tersebut dan menyebutkan alasannya
  • Untuk menjalankan prompt asli sesi lagi sebagai percakapan baru, jalankan claude respawn <id>

Sebelum v2.1.248, membuka baris seperti itu menjalankan ulang prompt asli sesi alih-alih menolak, sehingga menarik tugas yang berumur berminggu-minggu kembali ke latar depan.

Worktree has commits that are not pushed anywhere

Anda mencoba menghapus sesi latar belakang yang worktree-nya menyimpan commit yang tidak dapat dipastikan oleh Claude Code tersimpan di tempat lain. Claude Code mempertahankan worktree dan baris sesi alih-alih menghancurkan commit tersebut tanpa terlihat. claude rm menyebutkan branch dan commit yang belum di-push, serta cara melanjutkan:

kept 7c5dcf5d — its worktree is still at “/home/you/project/.claude/worktrees/fix-login”
  2 unpushed commits on “claude/fix-login”: a1b2c3d “Fix login flow” and 1 more. They exist on no remote, so deleting the worktree would lose them.
  push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef

Ketika Claude Code tidak dapat merangkum commit tersebut, baris detail berbunyi The worktree has unpushed commits sebagai gantinya. Di agent view, baris sesi menampilkan not deleted dengan alasan yang sama.

Commit yang ada di remote tidak memblokir penghapusan. Begitu pula commit di salinan lokal branch default dari remote origin Anda, selama branch tersebut di-checkout di checkout utama Anda, yaitu direktori repositori itu sendiri dan bukan worktree.

Yang harus dilakukan:

  • Untuk mempertahankan commit, push branch worktree tersebut, atau merge ke branch default yang di-checkout di checkout utama Anda, lalu hapus sesi lagi
  • Untuk membuang commit, jalankan perintah claude rm <id> --discard-unpushed yang dicetak pesan, atau tekan Ctrl+X dua kali pada baris sesi di agent view lagi. Ini menghapus sesi dan worktree beserta branch-nya, commit yang belum di-push, dan perubahan apa pun yang belum di-commit. Jika penghapusan ditolak lagi, ikuti pesan yang baru.
  • Ketika pesan menyatakan bahwa worktree tersebut juga tercatat oleh sesi lain yang telah selesai, menghapus lagi tidak akan membuangnya: push commit tersebut, lalu hapus sesi lagi

Sebelum v2.1.268, claude rm menempatkan ringkasan commit pada baris kept itu sendiri. Ketika claude rm tidak dapat merangkum commit, baris kept berbunyi worktree has commits that are not pushed anywhere sebagai pengganti ringkasan.

Sebelum v2.1.260, pesan tidak menyebutkan branch atau commit, dan tidak ada cara untuk membuangnya. Anda tetap dapat menghapus sesi, dengan kehilangan perubahan yang belum di-commit tetapi mempertahankan branch dan commit. Jalankan git worktree remove --force --force <path> dengan path yang dicetak oleh penolakan, lalu claude rm <id>. Git membutuhkan --force dua kali untuk worktree yang terkunci.

Sebelum v2.1.248, branch default yang di-checkout di checkout utama Anda tidak dihitung: branch yang telah Anda merge di sana tetap memicu penolakan ini sampai commit-nya mencapai remote.

Terminal host process died

Terminal setiap sesi latar belakang berjalan dalam proses host di bawah layanan latar belakang, dan proses tersebut mati sementara layanan masih memegang koneksinya, sehingga sesi tidak dapat dijangkau.

Di Linux dan WSL, layanan latar belakang memeriksa setiap proses host setiap beberapa detik, menandai sesi sebagai gagal ketika proses telah keluar tetapi koneksinya ke layanan tidak pernah ditutup, dan menampilkan alasannya pada baris sesi di agent view:

terminal host process died — press Enter to restart

Dari shell, claude attach <id> memulai ulang sesi yang sudah ditandai gagal karena host yang mati, dan jika tidak, mencetak penyebabnya lalu keluar:

Couldn't attach to <id> — This session's terminal host process died (the conversation is saved) — run `claude attach <id>` again to restart it on a fresh host.

Percakapan tetap tersimpan dalam kedua kasus tersebut.

Baris yang menjalankan perintah shell menampilkan terminal host process died — its output is gone; the command was not run again sebagai gantinya, dan claude attach mencetak This command's terminal host process died — its output is gone and the command was not run again. Claude Code tidak pernah menjalankan ulang perintah tersebut untuk Anda.

Yang harus dilakukan:

  • Di agent view, tekan Enter pada baris yang gagal; sesi dimulai ulang pada proses host baru dan percakapan dilanjutkan
  • Dari shell, jalankan claude attach <id> lagi. Claude Code mencetak Session <id>'s terminal host died — restarting it on a fresh one… dan membuka kembali sesi tersebut
  • Anda tidak dapat memulai ulang baris perintah shell dengan cara ini; lakukan dispatch perintah tersebut lagi untuk menjalankannya ulang

Sebelum v2.1.247, proses host yang mati dapat lolos dari setiap pemeriksaan keaktifan yang dijalankan layanan latar belakang, sehingga membuka sesi menampilkan opening… · esc to cancel tanpa batas waktu dan claude attach <id> menunggu tanpa melaporkan error.

Session isn't responding

Anda membuka sesi latar belakang dan layanan latar belakang menerima pembukaan tersebut, tetapi tidak ada output yang tiba selama sekitar sepuluh detik, sehingga Claude Code menyimpulkan bahwa proses yang meneruskan terminal sesi tidak dapat mengirimkan output, dan mengakhiri upaya tersebut alih-alih menunggu.

Di agent view, Claude Code menawarkan mulai ulang di footer:

Press enter again to restart this session — it isn't responding (its conversation is saved and resumes).

Dari shell, claude attach <id> mencetak penyebabnya lalu keluar:

Couldn't attach to <id> — Session isn't responding — `claude stop <id>`, then `claude attach <id>` restarts it (the conversation is saved).

Claude Code tidak pernah memulai ulang baris yang menjalankan perintah shell untuk Anda, karena memulai ulang akan menjalankan perintah tersebut lagi.

Yang harus dilakukan:

  • Di agent view, tekan Enter pada baris yang sama lagi. Claude Code menghentikan proses yang tidak responsif dan memulai ulang sesi, dan percakapan dilanjutkan. Tidak ada yang dihentikan tanpa tekanan kedua tersebut
  • Dari shell, jalankan claude stop <id>, lalu claude attach <id>
  • Untuk baris perintah shell, tekan Ctrl+X di agent view atau jalankan claude stop <id> untuk menghentikannya; lakukan dispatch perintah tersebut lagi untuk menjalankannya ulang

Session was stopped while the respawn was in flight

Anda membuka sesi latar belakang yang prosesnya tidak berjalan, dan saat Claude Code memulai ulang sesi tersebut, proses Claude Code lain menghentikannya, misalnya claude stop di terminal lain. Claude Code membiarkan sesi tetap berhenti:

Session <id> was stopped while the respawn was in flight

Membuka sesi yang baru saja Anda dispatch, saat prosesnya masih dimulai, akan menunggu proses tersebut sebagai gantinya. Sebelum v2.1.246, membukanya pada saat itu dapat menghentikannya dan menampilkan pesan ini.

Yang harus dilakukan:

  • Jika Anda tidak menghentikan sesi tersebut, buka barisnya lagi di agent view atau jalankan claude respawn <id> untuk memulainya ulang
  • Jika Anda sendiri yang menghentikannya, tidak ada lagi yang perlu dilakukan: sesi tetap berhenti

Agent sesi tidak lagi tersedia

Anda melanjutkan sesi yang menjalankan agent kustom, yang dimulai dengan --agent atau pengaturan agent, dan Claude Code tidak menemukan agent dengan nama tersebut. Claude Code mencari terlebih dahulu di direktori asli sesi, jika Anda telah memercayai workspace tersebut, lalu di direktori tempat Anda melanjutkan. Sesi tetap dilanjutkan, tetapi dengan tool default, sehingga pembatasan tool dari agent tersebut tidak lagi berlaku:

This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.

Peringatan ini hanya menyebutkan direktori yang dicari Claude Code, dan muncul di percakapan yang dilanjutkan baik saat Anda membangunkan sesi latar belakang, menjalankan /resume atau claude --resume, maupun melanjutkan dalam mode non-interaktif, di mana peringatan juga dikirim ke stderr. Sesi yang menggunakan --input-format stream-json tidak menampilkannya, karena Agent SDK menyediakan agent setelah startup.

Claude Code tidak menyimpan fallback ini ke sesi, sehingga peringatan berulang setiap kali dilanjutkan sampai Anda bertindak. Agent bawaan claude tidak memicu peringatan ini, karena fallback ke set tool default tidak mengubah apa pun baginya. Sebelum v2.1.216, Claude Code secara diam-diam melanjutkan sebagai agent default, dan pencarian hanya mencakup direktori tempat Anda melanjutkan, sehingga agent bercakupan proyek hilang setiap kali dilanjutkan dari direktori lain.

Yang harus dilakukan:

  • Buat ulang file agent di .claude/agents/<name>.md dalam proyek sesi, atau di ~/.claude/agents/<name>.md untuk agent pribadi, lalu lanjutkan lagi
  • Atau lanjutkan dengan --agent <name> yang menyebutkan agent yang memang ada, untuk menjalankan sesi sebagai agent tersebut
  • Jika agent bercakupan proyek dan Anda belum memercayai direktori asli sesi, jalankan Claude Code di sana sekali, terima dialog kepercayaan, lalu lanjutkan lagi

This session restarted after its next /loop wakeup was due

/loop dengan laju mandiri dalam sesi latar belakang telah berhenti. Proses sesi berakhir saat loop sedang menunggu wakeup berikutnya, dan wakeup tersebut jatuh tempo sebelum proses berikutnya dari sesi dimulai. Wakeup yang terlewat tidak dijalankan terlambat. Pemberitahuan menyebutkan seberapa terlambat wakeup tersebut saat sesi dimulai ulang:

This session restarted 12m after its next /loop wakeup was due, so that wakeup will not fire. The loop stays stopped until Claude schedules it again: reply to continue it.

Sebelum v2.1.295, loop berhenti dalam situasi ini tanpa pemberitahuan.

Yang harus dilakukan:

  • Untuk melanjutkan loop, balas sesi tersebut dan nyatakan demikian, seperti keep the loop running. Claude membaca pemberitahuan bersama balasan Anda dan dapat menjadwalkan wakeup berikutnya
  • Jika Anda sudah selesai dengan loop tersebut, tidak perlu melakukan apa pun. Loop sudah berhenti

No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder

Sesi latar belakang yang menampilkan pesan ini tidak menggunakan LLM gateway Anda: sesi tidak mendapatkan alamat gateway, sehingga permintaannya gagal. Pesan muncul di percakapan sebagai pengganti balasan Claude, dengan ID dan folder sesi Anda terisi:

No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder. To fix, run `claude respawn abc12345` from ~/project in another terminal where your gateway is set, or set ANTHROPIC_BASE_URL and its API key or token in a settings file's env block.

Selama Anda terhubung ke sesi tersebut, pemberitahuan di bawah prompt-nya menampilkan bentuk singkat No LLM gateway: opened from another folder · respawn from ~/project.

Anda melakukan dispatch, membangunkan, atau memulai ulang sesi dari folder selain yang disebutkan pesan, sementara ANTHROPIC_BASE_URL diatur ke gateway Anda. Untuk kasus di mana gateway yang diekspor shell memang mencapai sesi latar belakang, lihat LLM gateway.

Yang harus dilakukan:

  • Anda menggunakan agent view dalam proyek yang pengaturannya menetapkan gateway: letakkan ANTHROPIC_BASE_URL beserta kunci API atau token-nya di blok env dari file pengaturan. Gunakan ~/.claude/settings.json, atau .claude/settings.local.json dalam proyek sesi itu sendiri, yang keduanya dibaca oleh sesi yang di-respawn. Lalu jalankan claude respawn <id> di shell Anda dari folder mana pun.
  • Anda mengekspor gateway di terminal Anda: di terminal tempat Anda telah mengekspor variabel gateway, cd ke folder yang disebutkan pesan dan jalankan perintah claude respawn <id> dari pesan tersebut. Sesi dimulai ulang dari percakapan tersimpannya.

Sebelum v2.1.302, sesi latar belakang dalam situasi ini menampilkan error masuk seperti Not logged in · Please run /login sebagai gantinya, tanpa menyebutkan folder.

Error launcher CLAUDE_CODE_PROCESS_WRAPPER

CLAUDE_CODE_PROCESS_WRAPPER diatur, dan nilainya tidak dapat digunakan, sehingga Claude Code menolak memulai proses yang terpengaruh alih-alih menjalankannya tanpa launcher. Masalah konfigurasi dilaporkan dengan pesan yang diawali nama variabel dan menyebutkan alasannya, misalnya:

CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file

Launcher yang dimulai tetapi keluar tanpa menggantikan dirinya dengan Claude Code menggagalkan sesi yang sedang dimulainya, dan baris sesi di agent view melaporkan bahwa launcher must exec, not daemonize, diikuti apa pun yang dicetak launcher. Sesi yang tidak dapat dimulai atau menjangkau layanan latar belakang karena launcher melaporkan masalah launcher sebagai alasan di dalam Couldn't reach the background service (...).

Yang harus dilakukan:

  • Atur variabel ke path absolut dari executable yang diakhiri dengan memanggil exec "$@". Lihat kontrak launcher untuk kontrak lengkapnya
  • Periksa /status, yang menampilkan perintah peluncuran yang telah di-resolve di entri Self-exec dan memberi peringatan ketika layanan latar belakang yang berjalan tidak cocok dengannya, atau jalankan claude daemon status dari shell
  • Setelah memperbaiki nilai di blok env dari pengaturan, mulai ulang layanan latar belakang dengan claude daemon stop --any agar dispatch berikutnya memulai layanan yang dibungkus

EUNKNOWN saat memulai sesi latar belakang

Windows menolak memulai program dengan kode error yang tidak memiliki nama standar, sehingga kegagalan muncul sebagai EUNKNOWN. Pemicu yang umum adalah kebijakan pembatasan perangkat lunak, seperti Group Policy atau AppLocker, yang memblokir program yang sedang dimulai. Error muncul ketika Anda memulai sesi latar belakang dengan /background atau claude --bg:

Couldn't reach the background service (spawn background service: EUNKNOWN: unknown error, uv_spawn) — run 'claude daemon status'

Pada beberapa akun, pesan menyebutkan daemon sebagai pengganti background service.

Pada instalasi npm, EUNKNOWN yang muncul saat npm install -g @anthropic-ai/claude-code sedang mengganti binary memiliki penyebab yang sama dengan EACCES selama instalasi ulang dan hilang ketika Anda mencoba ulang setelah instalasi selesai.

Claude Code memulai layanan latar belakang melalui PowerShell agar layanan tetap bertahan saat terminal ditutup, menggunakan PowerShell 7 jika terinstal dan Windows PowerShell 5.1 jika tidak. Ketika tidak ada PowerShell yang dapat berjalan, Claude Code memulai layanan secara langsung, sehingga kebijakan yang hanya memblokir PowerShell tidak menyebabkan error ini.

Sebelum v2.1.212, Claude Code hanya menggunakan Windows PowerShell 5.1 untuk memulai layanan, sehingga mesin mana pun yang Group Policy-nya memblokir PowerShell 5.1 gagal dengan Couldn't start the session — EUNKNOWN: unknown error, uv_spawn, bahkan jika PowerShell 7 terinstal.

Yang harus dilakukan:

  • Jika pesan berbunyi Couldn't start the session, upgrade ke v2.1.212 atau lebih baru. Pada versi sebelumnya, Anda juga dapat menjalankan claude daemon run di terminal terpisah terlebih dahulu, lalu memulai sesi latar belakang lagi. Perintah tersebut menjalankan layanan latar belakang di latar depan terminal, sehingga layanan hanya bertahan selama terminal tersebut tetap terbuka.
  • Jika instalasi npm sedang mengganti binary, tunggu hingga selesai, lalu mulai sesi latar belakang lagi
  • Jika error muncul pada v2.1.212 atau lebih baru saat tidak ada instalasi npm yang berjalan, tanyakan kepada administrator Windows Anda apakah kebijakan pembatasan memblokir executable Claude Code
  • Jika layanan latar belakang berhenti saat Anda menutup terminal, Claude Code memulainya tanpa PowerShell. Instal PowerShell 7, atau minta administrator Anda untuk membuka blokir PowerShell, agar layanan dapat bertahan lebih lama dari terminal.

EACCES saat memulai sesi latar belakang

Claude Code tidak dapat menjalankan binary-nya sendiri untuk memulai layanan latar belakang yang menampung sesi latar belakang. Pada instalasi npm, ini biasanya berarti npm install -g @anthropic-ai/claude-code sedang mengganti binary pada saat itu, baik Anda yang menjalankannya maupun auto-updater. Error muncul ketika Anda membuka sesi dari agent view:

Couldn't start the background service — spawn background service: EACCES: permission denied, posix_spawn '/usr/local/lib/node_modules/@anthropic-ai/claude-code/bin/claude'

Ketika Anda memulai sesi dengan /background atau claude --bg, alasan yang sama muncul di dalam Couldn't reach the background service (...). Selama jendela instalasi ulang yang sama, error dapat menyebutkan kode lain, seperti ENOENT atau ENOEXEC, atau EUNKNOWN atau EPERM di Windows; EUNKNOWN yang tetap muncul setelah beberapa kali percobaan ulang memiliki penyebab yang berbeda.

Pada instalasi npm, Claude Code menunggu instalasi ulang selesai dan mencoba ulang dengan sendirinya: hingga sepuluh detik, dan hingga dua menit selama instalasi npm Claude Code terlihat masih berjalan di mesin, yang mencakup proses Claude Code lain yang sedang mengunduh pembaruan. Ketika instalasi berlangsung lebih lama dari waktu tunggu tersebut, kegagalan menyebutkan pembaruan alih-alih hanya kode error:

Claude Code is being updated by npm on this machine (still not runnable after 2 min, EACCES) — try again when the update finishes

Sebelum v2.1.257, penantian berhenti pada sepuluh detik dalam setiap kasus, sehingga error ini muncul saat proses Claude Code lain masih mengunduh pembaruan. Sebelum v2.1.246, Claude Code langsung gagal, tanpa menunggu.

Yang harus dilakukan:

  • Tunggu beberapa detik, lalu buka sesi atau lakukan dispatch lagi. Ketika pesan menyatakan Claude Code sedang diperbarui, coba lagi setelah pembaruan selesai.
  • Jika error tetap muncul saat tidak ada instalasi npm yang berjalan, pengguna Anda tidak dapat menjalankan binary yang terinstal. Periksa permission binary tersebut dan direktorinya, atau instal ulang Claude Code.

Background service exited before it became reachable

Proses yang dimulai Claude Code sebagai layanan latar belakang keluar sebelum menerima koneksi, sehingga Claude Code tidak dapat membuka sesi Anda. Ketika layanan mencetak error sebelum keluar, alasan dalam tanda kurung memberikan exit code atau sinyal dan baris pertama yang dicetak layanan, yang menyebutkan apa yang menghentikannya:

Couldn't reach the background service (background service exited before it became reachable (exit code N): <the service's first error line>) — run 'claude daemon status'

Ketika Anda membuka sesi dari agent view, alasan yang sama mengikuti Couldn't start the background service —. Ketika layanan tidak mencetak apa pun sebelum keluar, pesan menyebutkan nothing on stderr sebagai gantinya.

Claude Code melaporkan kegagalan dengan baris error dari layanan. Sebelum v2.1.246, kegagalan baru muncul setelah menunggu 45 detik, sebagai background service did not become reachable within 45s, tanpa baris error dari layanan.

Dua alasan yang dikutip memiliki penyebab yang diketahui:

  • Error: claude native binary not installed.: instalasi npm sedang mengganti binary Claude Code pada saat itu, sehingga layanan menjalankan placeholder npm sebagai gantinya. Coba lagi setelah instalasi selesai; jika baris tersebut tetap muncul tanpa ada instalasi yang berjalan, selesaikan instalasi npm. Sebelum v2.1.257, self-update npm di macOS menghasilkan kegagalan ini pada setiap start selama jendela instalasi.
  • nothing on stderr dengan exit code 1, pada setiap start, di Windows: daemon.lock menyebutkan proses yang tidak dapat diberi sinyal oleh Claude Code dan juga tidak dapat dibuktikan sudah tidak ada, sehingga setiap layanan baru menyimpulkan bahwa layanan lain memegang kunci tersebut lalu keluar. Kunci yang penulisnya dapat dibuktikan oleh Claude Code sudah tidak ada akan diganti dengan sendirinya dan tidak menghasilkan kegagalan ini. Ketika kegagalan berulang pada setiap start, hapus ~/.claude/daemon.lock, lalu buka sesi atau lakukan dispatch lagi. Sebelum v2.1.257, kunci seperti itu memblokir setiap start sampai Anda menghapus file tersebut.

Yang harus dilakukan:

  • Jika pesan mengutip sebuah baris, perbaiki apa yang disebutkannya, lalu buka sesi atau lakukan dispatch lagi. Upaya berikutnya akan memulai layanan lagi
  • Jalankan claude daemon status untuk memeriksa apakah sebuah layanan sedang berjalan sekarang

Direktori kerja tidak lagi ada saat memulai sesi latar belakang

Direktori tempat Anda memulai sesi latar belakang dihapus saat sesi sedang dimulai. Claude Code tidak memulai sesi, dan pesan menyebutkan direktori yang hilang:

Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)

Sebelum v2.1.257, sesi tampak dimulai lalu muncul di agent view sebagai baris gagal dengan alasan yang sama.

Sebelum v2.1.281, pesan ini juga muncul ketika direktori sudah tidak ada sebelum Anda memulai sesi. Kasus tersebut melaporkan could not be resolved on disk.

Yang harus dilakukan:

  • Buat ulang direktori yang disebutkan pesan, atau lakukan dispatch dari direktori yang ada, lalu coba lagi

This forked session could not be started

Anda melakukan fork sesi Remote Control dari claude.ai, dan Claude Code tidak dapat menyelesaikan proses memulai sesi latar belakang yang menjalankan fork tersebut di mesin Anda. Pemberitahuan ini muncul di transkrip sesi hasil fork:

This forked session could not be started. Fork the conversation again to retry.

Sesi yang Anda fork tetap berjalan.

Yang harus dilakukan:

  • Kembali ke sesi yang Anda fork dan fork lagi setelah sesi tersebut idle

Workspace tidak dipercaya saat melakukan dispatch sesi latar belakang

Anda memulai atau memulai ulang sesi latar belakang di direktori yang belum Anda percayai, dan dialog kepercayaan workspace tidak dapat muncul untuk menanyakannya kepada Anda. Claude Code tidak memulai sesi:

Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.

Dari terminal di direktori sesi itu sendiri, perintah yang sama menampilkan dialog kepercayaan sebagai gantinya dan memulai sesi setelah Anda menerimanya. Pesan ini muncul di tempat yang tidak memungkinkan dialog, seperti dalam skrip, atau ketika Anda memulai ulang sesi dari direktori selain direktorinya sendiri.

Dua varian menyebutkan penyebab yang berbeda:

  • The home directory is trusted one session at a time: direktori sesi adalah direktori home Anda. Claude Code tidak pernah menyimpan kepercayaan untuk direktori home, sehingga menerima dialog di sana pada sesi sebelumnya tidak dihitung.
  • <path> could not be resolved on disk: Claude Code tidak dapat menemukan direktori sesi di disk.

Sebelum v2.1.286, di Windows, pesan ini juga dapat muncul di direktori yang sudah Anda percayai, jika catatan kepercayaannya disimpan dengan path dalam huruf besar-kecil yang berbeda. Perbarui ke v2.1.286 atau lebih baru.

Yang harus dilakukan:

  • Jalankan claude di direktori yang disebutkan pesan dan terima dialog kepercayaan, lalu jalankan perintah lagi
  • Untuk pesan direktori home, jalankan perintah dari terminal di direktori home Anda agar dialog dapat muncul, atau mulai sesi dari direktori proyek sebagai gantinya
  • Untuk pesan could not be resolved on disk, buat ulang direktori tersebut, atau mulai sesi baru dari direktori yang ada

Kesalahan Wrapper dan IDE

Kesalahan ini berasal dari program yang meluncurkan Claude Code untuk Anda, seperti ekstensi IDE atau aplikasi Agent SDK, bukan dari Claude Code itu sendiri.

Proses Claude Code keluar dengan kode N

Proses claude yang mendasar keluar dengan kode bukan nol. Kode keluar saja tidak mengatakan apa yang gagal: kesalahan sebenarnya ada di output proses itu sendiri, yang wrapper tambahkan ketika menangkap apa pun dan sebaliknya menyimpannya di log-nya.

Error: Claude Code process exited with code 1

Di Windows, build native dapat keluar dengan kode 4294967295 tepat setelah giliran selesai. Ketika keluar itu mendarat di batas giliran, tanpa pesan menunggu dan tidak ada tugas latar belakang yang berjalan, ekstensi VS Code menutup sesi dengan tenang alih-alih menampilkan kesalahan ini. Pesan Anda berikutnya melanjutkan percakapan.

Sebelum v2.1.273, ekstensi menampilkan kesalahan untuk keluar itu di setiap batas giliran, meskipun tidak ada yang hilang.

Yang harus dilakukan:

  • Di VS Code, ikuti tautan View output logs yang ditampilkan dengan kesalahan untuk melihat kegagalan yang mendasar
  • Dalam aplikasi Agent SDK, tangkap kesalahan di sekitar loop pesan Anda. Entri di bawah CLI process exit mencakup apa yang diterima kode Anda di setiap bahasa SDK.
  • Jalankan claude di terminal dalam proyek yang sama. Kegagalan biasanya direproduksi di sana dengan pesan kesalahan sebenarnya, yang kemudian dapat Anda cari di halaman ini.
  • Jalankan claude doctor di terminal untuk memeriksa instalasi dan konfigurasi

Tidak dapat menemukan Claude CLI di PATH

Ekstensi VS Code menampilkan kesalahan ini di Windows ketika Anda membuka Claude Code di terminal terintegrasi, shell terminal adalah PowerShell, dan ekstensi tidak dapat menemukan executable claude yang terinstal di PATH. Ekstensi menolak untuk meluncurkan Claude Code sampai menemukan claude yang terinstal di PATH.

Failed to run Claude Code: Error: Could not locate the Claude CLI on PATH. Launching by name in a PowerShell terminal would run a 'claude' from the open folder instead of the installed CLI, so the launch was blocked. Make sure the Claude CLI's install directory is on your system PATH (not only your PowerShell profile), then restart VS Code and try again. VS Code reads PATH when it starts, so PATH changes take effect only after a restart.

Yang harus dilakukan:

  • Buka jendela PowerShell baru di luar VS Code dan jalankan where.exe claude. Jika tidak mencetak jalur, CLI tidak ada di PATH Anda: tambahkan direktori instalasinya dengan mengikuti Verifikasi PATH Anda. Jika mencetak jalur, entri berasal dari profil PowerShell Anda atau dari perubahan PATH yang belum diambil VS Code; dua langkah berikutnya mencakup kasus-kasus tersebut.
  • Atur entri PATH sebagai variabel lingkungan pengguna atau sistem, bukan di profil PowerShell Anda. Ekstensi tidak menjalankan profil Anda, jadi edit PATH yang hanya ada di sana tidak pernah mencapainya.
  • Mulai ulang VS Code setelah mengubah PATH. Ekstensi memeriksa PATH yang ditangkap VS Code saat startup, jadi perubahan PATH hanya berlaku setelah restart.

The Claude Code program for this computer could not be found

Ekstensi VS Code mencari salinan Claude Code yang dibundel di dalamnya dan tidak menemukan satu pun yang di-build untuk komputer Anda. Pesan tersebut menyebutkan build yang dibutuhkan komputer Anda:

The Claude Code program for this computer, the Linux (linux-x64) build, could not be found.

Yang harus dilakukan:

  • Jika pesan menyebutkan build mana yang dimiliki ekstensi, Anda memiliki paket ekstensi untuk platform lain: instal paket yang dibuat untuk build yang disebutkan dalam pesan
  • Jika pesan tidak menyebutkan build mana yang dimiliki ekstensi, instal ulang ekstensi Claude Code dari tampilan Extensions di editor Anda
  • Atau, dalam kedua kasus, atur claudeCode.claudeProcessWrapper ke binary claude yang diinstal secara terpisah

Sebelum v2.1.290, kesalahan ini muncul sebagai Unsupported platform: <platform>-<arch>. No compatible Claude Code binary found.

Koneksi ke Claude Code berakhir sebelum pesan ini selesai

Ekstensi VS Code mengirim pesan Anda ke proses claude, dan koneksi berakhir tanpa kesalahan sebelum proses mengakui atau menyelesaikannya. Ekstensi tidak dapat mengatakan apakah pesan diproses, jadi meminta Anda untuk mengirimnya lagi:

The connection to Claude Code ended before this message completed — it may not have been processed, so please send it again.

Yang harus dilakukan:

  • Kirim pesan lagi. Pesan berikutnya memulai proses claude segar yang melanjutkan percakapan.
  • Jika terulang, jalankan claude di terminal dalam proyek yang sama. Kegagalan yang terus mengakhiri proses biasanya direproduksi di sana dengan pesan kesalahan sebenarnya.

Peringatan dan kesalahan Rewind

Pesan-pesan ini berasal dari pemulihan kode /rewind. Restored the code, but skipped N files adalah peringatan yang menunjukkan bahwa Claude Code melewati beberapa jalur. No files were restored adalah kesalahan yang berarti tidak ada yang dipulihkan.

Restored the code, but skipped files

Pemulihan kode /rewind melewati satu atau lebih jalur terlacak alih-alih menulis atau menghapus melaluinya. Claude Code melewati jalur ketika:

  • itu adalah, atau menjadi, symlink, hard link, atau file non-reguler lainnya
  • direktorinya berubah sejak checkpoint
  • backup-nya tidak dapat dibaca dengan aman

Jalur yang dilewati mempertahankan konten saat ini mereka. Sebelum v2.1.216, /rewind menulis dan menghapus melalui link di jalur terlacak, dan tidak melaporkan pemulihan sebagian.

Restored the code, but skipped 2 files: the tracked path is (or became) a link or other non-regular file, its directory changed since the checkpoint, or its backup could not be safely read. Skipped files were left untouched — run with --debug for the paths.

Yang harus dilakukan:

  • Identifikasi file mana yang dilewati sehingga Anda dapat menangani masing-masing dengan langkah-langkah di bawah ini. Pesan hanya memberikan hitungan; log debug di ~/.claude/debug/<session-id>.txt menamai setiap jalur yang dilewati saat pemulihan berjalan, jadi aktifkan logging debug dengan /debug sebelum pemulihan berikutnya Anda. Di macOS atau Linux, Anda dapat menemukan link secara langsung: find . -type l untuk symlink dan find . -type f -links +1 untuk file hard-linked.
  • Jika file yang dilewati adalah link yang Anda buat dengan sengaja, seperti file konfigurasi yang dikelola oleh manajer dotfile atau file yang hard-linked oleh alat seperti pnpm, rewind membiarkan kontennya saja. Untuk membatalkan perubahan sesi terhadapnya, minta Claude untuk membalikkan edit atau edit file sendiri
  • Jika Anda tidak membuat link, periksa jalur sebelum mempercayai kontennya

No files were restored

Claude Code menampilkan pesan ini ketika Anda memulihkan kode dengan /rewind dan tidak dapat memulihkan file apa pun dalam checkpoint tersebut. Untuk setiap file, baik backup yang disimpan Claude Code sebelum mengeditnya hilang, atau Claude Code tidak dapat menulis atau menghapus file.

Failed to restore the code:
No files were restored: 1 file failed (backup missing, or the file could not be updated)

Claude Code menghapus backup sesi dalam retention sweep, secara default sekitar 30 hari setelah sesi terakhir menyimpannya. Jika Anda melanjutkan sesi setelah itu, /rewind masih mencantumkan checkpoint-nya, tetapi rewind ke salah satunya dapat gagal dengan kesalahan ini. Jika pesan juga mengatakan N paths were skipped for link safety, lihat Restored the code, but skipped files untuk jalur-jalur tersebut.

Ketika Anda fork sesi, misalnya dengan --fork-session atau /branch, Claude Code menyalin backup sesi asli ke fork. Ketika Claude Code tidak dapat menyalin backup, misalnya karena disk penuh, backup tersebut hilang di fork. Rewind ke checkpoint yang membutuhkannya dapat gagal dengan kesalahan ini.

Yang harus dilakukan:

  • Batalkan perubahan dengan cara lain: minta Claude untuk membalikkan edit-nya, atau pulihkan file dari version control. Ketika backup hilang, menjalankan /rewind lagi gagal dengan cara yang sama.
  • Jika Claude Code tidak dapat menulis atau menghapus file, perbaiki apa yang memblokir penulisan, seperti izin file, kemudian jalankan /rewind lagi.
  • Untuk menyimpan backup lebih lama di sesi mendatang, naikkan cleanupPeriodDays.

Sebelum v2.1.260, Claude Code secara diam-diam melewati file yang backup-nya hilang, dan rewind tampak berhasil.

Peringatan penyimpanan sesi

Claude Code menampilkan peringatan ini pada baris persisten di bawah kotak input ketika tidak menyimpan transkrip sesi Anda. Sesi tetap berfungsi baik cara; peringatan memberi tahu Anda bahwa sesi mungkin hilang dari --resume nanti.

Penulisan transkrip gagal

Claude Code menyimpan transkrip ke disk saat Anda bekerja, dan penulisannya ke file transkrip gagal. Pesan ini menyebutkan penyebabnya dengan kode kesalahan yang mendasar, misalnya disk penuh:

Transcript writes are failing (disk full — ENOSPC) · recent messages may not be saved for resume

Peringatan muncul pada titik berbeda tergantung pada kesalahannya:

  • Pada kegagalan pertama untuk kondisi yang tidak hilang dengan sendirinya: disk penuh, kuota disk terlampaui, sistem file hanya-baca, jalur melebihi batas panjang sistem file, atau, di macOS dan Linux, kesalahan izin
  • Setelah kegagalan berulang yang berlangsung setidaknya satu menit untuk semuanya, termasuk kesalahan izin di Windows, di mana pemindaian antivirus dapat gagal pada satu penulisan yang kemudian berhasil saat dicoba ulang

Sebelum v2.1.217, Claude Code menghapus penulisan yang gagal tanpa peringatan, dan --resume yang hilang pesan terbaru kemudian adalah tanda pertama.

Yang harus dilakukan:

  • Perbaiki kondisi yang disebutkan kode kesalahan: bebaskan ruang disk untuk ENOSPC; naikkan atau hapus kuota untuk EDQUOT; pulihkan akses tulis ke lokasi transkrip untuk EACCES, EPERM, atau EROFS
  • Peringatan hilang dengan sendirinya pada penulisan berikutnya yang berhasil; tidak perlu restart
  • Pesan yang dikirim saat peringatan ditampilkan mungkin masih hilang ketika Anda melanjutkan sesi nanti

Penyimpanan transkrip dimatikan karena CLAUDE_CODE_SKIP_PROMPT_HISTORY diatur

Sesi ini dimulai dengan CLAUDE_CODE_SKIP_PROMPT_HISTORY diatur, jadi Claude Code tidak menulis transkrip atau riwayat prompt untuk sesi ini:

Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set · --resume will not find this session; if unintended, unset it and restart

Variabel ini adalah opt-out yang disengaja untuk sesi skrip sementara, tetapi juga dapat mencapai sesi melalui profil shell, skrip pembungkus, atau proses induk yang mengekspornya.

Yang harus dilakukan:

  • Jika Anda mengatur variabel dengan sengaja, tidak ada tindakan yang diperlukan; pemberitahuan ini mengonfirmasi bahwa sesi tidak akan muncul di --resume, --continue, atau riwayat panah-atas
  • Jika tidak, hapus variabel dari shell atau skrip yang meluncurkan claude, kemudian mulai sesi baru. Pesan dari sesi saat ini tidak disimpan secara retroaktif.

Penyimpanan transkrip dimatikan karena penanda CLAUDE_CODE_CHILD_SESSION yang diwariskan

Claude Code mengatur CLAUDE_CODE_CHILD_SESSION dalam subproses yang dihasilkannya, dan memperlakukan sesi interaktif yang mewarisinya sebagai bersarang: Claude Code tidak menyimpan transkrip untuk sesi tersebut, jadi sesi yang Claude sendiri mulai tidak mengisi daftar --resume Anda. Pemberitahuan ini berarti sesi saat ini Anda mewarisi penanda:

Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker · restart with CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1 to keep future transcripts

Pemberitahuan ini diharapkan ketika Anda menjalankan claude dari dalam sesi Claude Code lain; pemberitahuan ini menandakan salah klasifikasi ketika penanda bocor melalui perantara yang tahan lama, misalnya terminal, sesi screen, atau peluncur yang awalnya dimulai oleh sesi Claude Code.

Di dalam tmux, Claude Code mendeteksi penanda yang tiba melalui lingkungan global server tmux dan terus menyimpan, jadi pemberitahuan ini tidak muncul untuk kasus itu.

Yang harus dilakukan:

  • Jika Anda memulai sesi ini dari dalam sesi Claude Code lain dengan sengaja, tidak ada tindakan yang diperlukan
  • Jika ini adalah sesi tingkat atas, keluar dan restart dengan CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1 diatur. Penyimpanan berlaku dari restart, jadi pesan yang dikirim sebelumnya tidak disimpan.
  • Untuk memperbaiki peluncuran di masa depan dari terminal atau peluncur yang sama, hapus CLAUDE_CODE_CHILD_SESSION dari lingkungannya

Peringatan konfigurasi

Untuk menemukan peringatan yang diberikan Claude Code saat startup dalam sesi interaktif, periksa terlebih dahulu di bawah banner startup, lalu di log debug:

  • Baris di bawah banner startup: beberapa peringatan tentang aturan izin, seperti ⚠ Deny rule Bsh matches no tool · check for typos
  • Log debug: Claude Code menyimpan log ini hanya dalam mode debug. Untuk membaca peringatan di dalamnya, jalankan Claude Code dari shell Anda dengan claude --debug-file <path>, lalu buka file di path tersebut.

Dalam mode non-interaktif dengan output teks, di luar sesi latar belakang, cari peringatan startup di stderr.

Sebelum v2.1.305, periksa juga stderr dalam sesi interaktif, termasuk untuk peringatan aturan izin yang kini ditampilkan sebagai baris di bawah banner.

Claude Code exited after an unrecoverable interface error

Claude Code mencetak pesan ini saat keluar karena antarmuka terminalnya mengalami error yang tidak dapat dipulihkan, pada renderer mana pun. Kalimat kedua hanya muncul jika error terjadi saat renderer fullscreen sedang dimulai:

Claude Code exited after an unrecoverable interface error (<error>). It happened while the fullscreen renderer was starting, so the next launch will use the classic renderer (CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 forces that any time).

Yang perlu dilakukan:

  • Jalankan Claude Code lagi. Untuk melanjutkan percakapan, jalankan claude --resume di direktori yang sama.
  • Jika pesan menyebut renderer fullscreen, Rendering fullscreen menjelaskan apa yang dilakukan peluncuran berikutnya, yang bergantung pada cara Anda mengaktifkan fullscreen, serta cara mencoba fullscreen lagi atau tetap menggunakan renderer klasik.

Sebelum v2.1.236, Claude Code keluar tanpa mencetak pesan setelah error semacam ini.

Agent descriptions are over the 15.0k-token limit

Claude Code menampilkan peringatan ini sebagai pemberitahuan startup di tampilan percakapan, bukan di stderr. Gabungan deskripsi subagent Anda, kecuali yang bawaan, melebihi 15.000 token menurut estimasi Claude Code. Setiap agent menghitung namanya ditambah frontmatter description-nya. Claude Code memuat setiap agent terlepas dari apakah totalnya melebihi batas atau tidak, jadi peringatan ini tidak mengubah apa yang dimuat.

Agent descriptions are over the 15.0k-token limit (~16.2k tokens) · ask Claude to trim agent descriptions in .claude/agents/

Yang perlu dilakukan:

  • Persingkat frontmatter description dari file agent Anda, atau minta Claude untuk memangkasnya untuk Anda.
  • Hapus file agent yang tidak lagi Anda gunakan.

Hook needs quotes around a path with a space

Notifikasi di tampilan percakapan ini berarti skrip sebuah hook tidak berjalan karena path-nya mengandung spasi dan tidak diberi tanda kutip. Hook tersebut adalah hook asyncRewake dalam bentuk shell. Dalam command-nya, sebuah interpreter seperti python3 diikuti oleh placeholder path tanpa tanda kutip, dan path yang di-resolve mengandung spasi.

Notifikasi diawali dengan nama event hook dan menyebut skripnya:

Stop hook needs quotes around a path with a space (check.py)

Yang perlu dilakukan:

  • Dalam command dari hook yang menjalankan skrip yang disebut notifikasi, apit path dengan tanda kutip ganda. Dalam file JSON, tulis sebagai "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/check.py\"".

Instruction file not loaded

Pemberitahuan di tampilan percakapan sesi interaktif ini berarti sebuah file memori yang ada tidak dimuat. Sebuah pembatasan baca sedang berlaku.

Instruction file not loaded (a Read deny rule covers it):
path: .claude/rules/shared.md

Bagian dalam tanda kurung menyebut alasannya, misalnya:

  • a Read deny rule covers it: sebuah aturan deny Read cocok dengan path file sebagaimana tertulis atau dengan tujuan tautan pada file tersebut
  • it's read from outside your working directories, where reads are blocked: file di-resolve ke luar direktori kerja saat permissions.blockReadsOutsideWorkingDirectories aktif
  • where it leads couldn't be worked out: misalnya, file tersebut adalah tautan yang mengarah kembali ke dirinya sendiri, secara langsung atau melalui tautan lain

Ketika file memori milik sebuah subdirektori tidak dapat dimuat saat Claude bekerja dengan file di sana, baris yang sama muncul di percakapan selama giliran tersebut. Ketika lebih banyak file yang ditahan daripada yang disebut oleh baris-baris tersebut, baris terakhir menghitung sisanya, seperti and 3 more instruction files not loaded.

Yang perlu dilakukan:

  • Tidak ada, jika pembatasan tersebut memang disengaja: sesi berjalan tanpa instruksi dari file tersebut.
  • Untuk memuat file yang ditahan karena a Read deny rule covers it, hapus atau persempit aturan tersebut. Lalu mulai sesi baru.
  • Untuk memuat file yang ditahan karena it's read from outside your working directories, where reads are blocked, pindahkan file tersebut atau target tautannya ke dalam direktori kerja. Lalu mulai sesi baru.
  • Untuk memuat file yang ditahan karena where it leads couldn't be worked out, periksa apakah file tersebut adalah tautan yang mengarah kembali ke dirinya sendiri. Jika ya, arahkan tautan ke file yang ada atau letakkan file biasa di tempatnya. Lalu mulai sesi baru.

Sebelum v2.1.292, pemberitahuan menyebut file di akhir baris yang sama setelah alasannya.

Skill, perintah, atau workflow tidak dimuat karena namanya dicadangkan

Sebuah folder skill, name frontmatter, file atau subfolder di .claude/commands/, atau workflow tersimpan menggunakan nama anthropic-skills atau nama yang diawali dengan anthropic-skills:. Claude Code mencadangkan nama tersebut untuk skill yang disinkronkan dari claude.ai dan tidak memuat item tersebut.

Claude Code menampilkan peringatan ini sebagai pemberitahuan startup di tampilan percakapan, bukan di stderr:

Not loaded: rename .claude/skills/anthropic-skills, then restart — its name uses "anthropic-skills", a name reserved for the skills synced from your claude.ai account

Pemberitahuan menyebut apa yang perlu diubah untuk item pertama yang ditolaknya: folder atau file yang perlu diganti namanya, baris name: yang perlu diedit, atau workflow yang perlu diganti namanya. Ketika lebih dari satu item ditolak, pemberitahuan diakhiri dengan hitungan seperti · 2 more, dan log debug menyebut masing-masing item.

Yang perlu dilakukan:

  • Ganti nama item yang disebut pemberitahuan, atau edit baris name: yang ditunjuknya, lalu mulai ulang sesi.

Sebelum v2.1.282, Claude Code memuat skill dan perintah dengan nama-nama ini.

Skill or command name refused

Pemberitahuan startup ini berarti Claude Code menolak nama dari setidaknya satu skill atau perintah kustom, sehingga item tersebut tidak dimuat atau dimuat tanpa field name-nya:

1 skill or command name refused: run with --debug to see which ([names]), rename, then restart — a name may not hold hidden, direction-changing or blank-like characters, < or >, or be over 256 characters
  • Tidak dimuat: Claude Code menolak nama yang digunakan skill atau perintah, seperti nama direktorinya atau nama atau subfolder file perintah. Item tersebut tidak ada di menu / dan Claude tidak dapat memanggilnya. Barisnya di log debug berbunyi <name> is not offered.
  • Field name diabaikan: Claude Code menolak name frontmatter sebuah skill. Skill tetap dimuat, tetapi menu / tidak menampilkan nilai name dan mengetiknya tidak memanggil skill tersebut. Barisnya di log debug berbunyi <name value> is not shown for <skill>.

Yang perlu dilakukan:

  • Jalankan Claude Code dengan claude --debug dari shell Anda dan cari [names] di log debug. Setiap nama yang dihitung pemberitahuan memiliki satu baris di sana. Baris tersebut menuliskan beberapa karakter tersembunyi sebagai kode, seperti \u{200B} untuk spasi nol-lebar, sehingga Anda dapat melihat letaknya.
  • Hapus karakter yang tidak boleh ada dalam nama skill dengan mengganti nama folder atau file atau mengedit baris name:, atau persingkat nama yang melebihi 256 karakter. Lalu mulai ulang sesi, kecuali jika file berada di direktori yang dipantau perubahannya oleh Claude Code. Untuk skill dari plugin yang tidak Anda tulis, minta pembuat plugin untuk mengganti namanya.

Workspace has not been trusted

Claude Code menemukan aturan permissions.allow atau entri permissions.additionalDirectories di .claude/settings.json atau .claude/settings.local.json proyek dan tidak menerapkannya, karena aturan allow dari pengaturan proyek memerlukan kepercayaan workspace. Jumlah, nama pengaturan, dan file yang disebut dalam pesan bervariasi sesuai konfigurasi Anda. Aturan deny dan ask tidak terpengaruh.

Ignoring 2 permissions.allow entries from .claude/settings.local.json: this workspace has not been trusted. Run Claude Code interactively here once and accept the trust dialog, or set projects["/Users/you/project"].hasTrustDialogAccepted: true in /Users/you/.claude.json.

Yang perlu dilakukan:

  • Jalankan claude di direktori tersebut dan terima dialog kepercayaan. Aturan allow proyek dan kepercayaan workspace menjelaskan folder mana yang dicakup oleh penerimaan tersebut.
  • Dalam mode non-interaktif dengan -p tidak ada dialog yang ditampilkan. Atur entri hasTrustDialogAccepted di ~/.claude.json menggunakan key projects persis seperti yang dicetak pesan.
  • Jika pesan menyebut .claude/settings.local.json dan Anda menjalankan Claude Code di luar repositori git atau di direktori home Anda, perbarui ke v2.1.200 atau lebih baru. Versi 2.1.196 hingga 2.1.199 memperlakukan .claude/settings.local.json milik Anda sendiri sebagai file yang disediakan repositori di workspace tersebut. Pada v2.1.207 dan yang lebih baru, memperbarui saja tidak cukup di luar repositori git jika Anda belum memercayai folder tersebut: menentukan bahwa sebuah folder tidak berada di dalam repositori menjalankan git, dan Claude Code menjalankan pemeriksaan tersebut hanya setelah Anda menerima dialog kepercayaan, jadi gunakan langkah pertama. Direktori home Anda dan direktori home konfigurasi lainnya dikecualikan dan tidak menunggu dialog. Lihat Aturan allow proyek dan kepercayaan workspace.

Direktori kerja adalah path jaringan

Claude Code tidak menambahkan path jaringan sebagai direktori kerja. Mencari path jaringan dapat menghubungi host yang disebutnya, dan di Windows kontak tersebut dapat mengirimkan kredensial Anda ke host. Oleh karena itu, Claude Code menolak path tersebut tanpa mencarinya.

Anda melihat pesan ini saat menjalankan /add-dir dengan path jaringan:

\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).

Jika Anda memberikannya saat startup, dengan --add-dir atau di permissions.additionalDirectories, Claude Code dimulai tanpa direktori tersebut. Dalam sesi interaktif Anda tidak melihat pesan saat startup, karena pesan masuk ke log debug bersama peringatan startup lainnya.

Path yang ditolak Claude Code dengan cara ini meliputi:

  • Share UNC seperti \\server\share
  • Path automount seperti /net/<host>, kecuali jika Anda menjalankan Claude Code dari direktori di bawah automount host tersebut. Pembacaan di bawah automount tersebut tetap melalui pemeriksaan path jaringan.
  • Path lokal yang menjangkau lokasi jaringan melalui tautan simbolik atau junction

Huruf drive yang dipetakan dan path \\wsl$ tidak dihitung sebagai path jaringan.

Yang perlu dilakukan:

  • Di Windows, petakan share ke huruf drive dan berikan drive tersebut saat peluncuran. Di PowerShell, misalnya, jalankan net use Z: \\server\share lalu claude --add-dir Z:\.
  • Di macOS atau Linux, mount share di path lokal dan tambahkan path tersebut sebagai gantinya.
  • Jika path ada di permissions.additionalDirectories, hapus dari file pengaturan yang mencantumkannya.

Sebelum v2.1.257, Claude Code menerima path jaringan yang dapat dijangkau sebagai direktori kerja.

Remote managed settings failed to load

Sesi Anda memenuhi syarat untuk pengaturan yang dikelola server, tetapi Claude Code tidak dapat mengambilnya atau tidak dapat menerapkan apa yang dikembalikan server, sehingga menampilkan peringatan ini dalam sesi interaktif dan di tab Code Claude Desktop.

Penyebab dalam tanda kurung menyebut apa yang gagal, seperti network error, request timed out, atau authentication rejected (401). Penyebab no setting in the server response could be applied as written berarti server menjawab tetapi tidak ada pengaturan yang dikembalikannya yang lolos validasi. Sebelum v2.1.282, penyebab ini berbunyi server returned invalid settings.

Sisa baris menyebut kebijakan mana yang digunakan sesi:

  • Pengaturan yang di-cache dari pengambilan berhasil sebelumnya: Claude Code menjalankan sesi dengan kebijakan yang di-cache tersebut, kecuali environment variable yang ditahan, dan baris berbunyi using cached policy.
  • Tidak ada cache: Claude Code menjalankan sesi tanpa pengaturan yang dikelola server, dan baris berbunyi no remote policy applied.

Di tab Code, peringatan muncul sebagai baris di percakapan saat Anda mengirim pesan, dan baris baru muncul ketika status pengambilan berubah. Tiga pesan terkait muncul dengan cara yang sama:

  • Remote managed settings are still loading: pengambilan masih berjalan saat sesi dilanjutkan
  • Remote managed settings did not load: pengambilan berakhir tanpa jawaban
  • Remote managed settings have now loaded: pengaturan dimuat setelah salah satu peringatan ini, dan sisa baris menyebut apakah kebijakan remote berlaku

Yang perlu dilakukan:

  • Tindak lanjuti penyebab yang disebut pesan: untuk penyebab jaringan, periksa bahwa mesin ini dapat menjangkau api.anthropic.com; untuk penyebab autentikasi, periksa status masuk Anda dengan /status
  • Untuk no setting in the server response could be applied as written, minta admin Anda untuk memperbaiki pengaturan di server
  • Jalankan /status atau claude doctor untuk diagnostik lengkap

Sebelum v2.1.248, Claude Code melaporkan pengambilan pengaturan yang gagal hanya di log debug.

Claude Code tidak dapat memuat pengaturan organisasi Anda

Sesi Anda belum dimulai karena pengaturan organisasi Anda, termasuk pengaturan yang dikelola server, harus dimuat terlebih dahulu dan Claude Code tidak dapat memuatnya. Misalnya:

Claude Code couldn't reach Anthropic to load your organization's settings (could not connect). <Organization name> requires them before a session can start.

Jika pesan berada dalam dialog berjudul Claude Code can't start this session yet, dialog akan tertutup dan sesi dimulai segera setelah pengaturan dimuat.

Dalam mode non-interaktif dan dalam sesi latar belakang, Claude Code mencetak pesan dan keluar dengan status 1 sebagai gantinya.

Yang perlu dilakukan:

  • could not connect, atau the reply came from a network proxy, not Anthropic: periksa koneksi jaringan Anda, dan di jaringan perusahaan minta tim IT untuk mengizinkan HTTPS ke api.anthropic.com/api/claude_code/policy_limits dan api.anthropic.com/api/claude_code/settings. Lalu pilih Retry now, atau jalankan perintah Anda lagi.
  • timed out, Anthropic returned an error, atau Anthropic asked it to retry shortly: biarkan dialog mencoba ulang, atau jalankan perintah Anda lagi nanti. Periksa status.anthropic.com jika hal ini terus terjadi.
  • still loading, atau couldn't verify your sign-in with Anthropic yet: biarkan dialog mencoba ulang, atau jalankan perintah Anda lagi. Jika pesan masuk terus muncul kembali, masuk lagi dengan menjalankan claude auth login di shell Anda.
  • Your Claude session has expired: status masuk yang tersimpan di mesin ini tidak lagi valid, jadi mencoba ulang tidak akan membantu. Di dialog, pilih Sign in again untuk menutup Claude Code; lalu, di shell Anda, jalankan claude auth login, yang tetap berfungsi meskipun sesi tidak dapat dimulai.
  • none of the settings the server returned could be applied as written: minta admin Anda untuk memperbaiki pengaturan yang dikelola server organisasi, lalu coba lagi.

Managed settings were not approved

Pengaturan yang dikelola server organisasi Anda mencakup pengaturan yang memerlukan persetujuan Anda, dan Anda menolak dialog persetujuan keamanan, sehingga Claude Code keluar tanpa menerapkannya:

Managed settings were not approved; exiting without applying them.

Yang perlu dilakukan:

  • Jalankan Claude Code lagi dan setujui dialog untuk melanjutkan dengan pengaturan organisasi Anda. Dialog yang ditolak tidak diingat, sehingga akan muncul lagi pada startup berikutnya.
  • Jika Anda ragu tentang pengaturan yang dicantumkan dialog, tanyakan kepada siapa pun yang mengelola pengaturan terkelola organisasi Anda sebelum menyetujuinya

Managed settings need your approval

Pengaturan yang dikelola server organisasi Anda mencakup pengaturan yang memerlukan persetujuan Anda di dialog persetujuan keamanan. Perintah claude plugin yang Anda jalankan tidak dapat membaca dari keyboard, sehingga tidak dapat menampilkan dialog tersebut. Hal itu terjadi saat Anda melakukan pipe atau redirect pada inputnya dan, di macOS dan Linux, perintah tersebut juga tidak dapat membuka /dev/tty. Perintah berhenti sebelum membuat perubahan apa pun:

Your organization's managed settings need your approval, which couldn't be asked for here. Run `claude` in a terminal and approve them, then run this command again.

Yang perlu dilakukan:

  • Jalankan claude di terminal dan setujui pengaturan saat dialog muncul, lalu jalankan perintah claude plugin yang sama lagi. Claude Code menyimpan persetujuan dan pengaturan yang disetujui di direktori konfigurasi Anda. Jika perintah yang berhenti dijalankan sebagai pengguna lain atau dengan CLAUDE_CONFIG_DIR diatur, jalankan claude dengan cara yang sama agar keduanya menggunakan direktori yang sama.

Pengaturan terkelola memblokir model default

Pengaturan terkelola organisasi Anda memblokir model yang di-resolve dari opsi Default dan setiap model yang dapat menjadi turunannya. Sesi yang akan dimulai dengan opsi Default keluar saat startup alih-alih menjalankan model yang diblokir. Pesan yang Anda lihat bergantung pada pengaturan yang memblokirnya. Ketika daftar deniedModels memblokirnya, pesan berbunyi:

Claude Code can't start: your organization's managed settings block the default model (claude-opus-5-5) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".

Ketika daftar availableModels dengan availableModelsMatch diatur ke "exact" tidak mencantumkannya, pesan berbunyi:

Claude Code can't start: your organization allows only the models listed in "availableModels", and none of them can be used as the default model (claude-opus-5-5 isn't listed). Ask your administrator to update "availableModels".

Yang perlu dilakukan:

  • Jika Anda mengelola pengaturan tersebut, tambahkan model yang dapat dijalankan pengguna Anda ke availableModels, atau persempit entri deniedModels yang memblokir setiap fallback. Memblokir model atau versi tertentu menjelaskan bagaimana opsi Default beralih ke model yang lebih rendah
  • Jika Anda tidak mengelolanya, kirim pesan tersebut ke admin Anda. File pengaturan Anda sendiri tidak dapat memperluas daftar availableModels atau deniedModels yang terkelola

Pengaturan terkelola tidak mengizinkan penyedia API ini

Pengaturan terkelola organisasi Anda menetapkan daftar allowedProviders, dan penyedia API sesi tidak ada di dalamnya atau sesi menggunakan endpoint yang tidak dipatok sesuai yang disyaratkan entri tersebut. Claude Code menolak saat startup, sebelum login, atau saat sesi berikutnya menghubungi API. Pesan diawali dengan penyedia yang diizinkan:

Your organization's managed settings allow Claude Code to use: Anthropic API, Amazon Bedrock.

Ketika daftar kosong, pesan berbunyi:

Your organization's managed settings allow Claude Code to use no API provider at all (allowedProviders is an empty list), so it cannot start on this machine.

Ketika setiap entri tidak dikenali, bagian dalam tanda kurung berbunyi (allowedProviders lists only unrecognized entries).

Yang perlu dilakukan:

  • Ikuti langkah-langkah To continue: dalam pesan
  • Jika Anda mengelola pengaturan tersebut, baris pesan yang diawali Admins: menyebut entri yang perlu ditambahkan atau nilai yang perlu dipatok, dan entri allowedProviders menjelaskan blok env dari sumber mana yang dapat mematoknya

MCP server is blocked by enterprise managed policy

Anda memilih Reconnect pada sebuah server di /mcp, atau mengaktifkan kembali server yang dinonaktifkan di sana, dan sebuah pengaturan yang membatasi server MCP memblokir server tersebut. Claude Code menolak untuk menghubungkannya dan menampilkan:

MCP server <name> is blocked by enterprise managed policy

Salah satu pengaturan berikut dapat menghasilkan pesan ini:

Yang perlu dilakukan:

  • Periksa file pengaturan pengguna dan proyek Anda sendiri untuk salah satu pengaturan ini lalu ubah atau hapus
  • Jika tidak ada pengaturan Anda sendiri yang menjelaskan pemblokiran, tanyakan kepada admin Anda pengaturan terkelola mana yang memblokir server tersebut

Sebelum v2.1.257, Reconnect dan pengaktifan ulang di /mcp dapat menghubungkan server yang diblokir oleh pembaruan kebijakan di tengah sesi.

Nama server MCP dicadangkan

Pesan ini menyebut salah satu server MCP Anda, yang namanya termasuk dalam nama yang dicadangkan Claude Code, seperti nama server bawaannya:

"workspace" is a reserved MCP server name and was not loaded

Yang perlu dilakukan:

  • Ganti nama server di tempat Anda mendefinisikannya, misalnya dari workspace menjadi my-workspace
  • Untuk nama lain yang dicadangkan dan perlu dihindari, lihat Peringatan konfigurasi MCP

Managed settings document could not be parsed

Organisasi Anda men-deploy pengaturan terkelola, dan salah satu dokumen yang di-deploy ada tetapi tidak dapat di-parse sebagai objek JSON, sehingga Claude Code keluar dengan kode 1 saat startup alih-alih berjalan tanpa kebijakan yang dibawa dokumen tersebut. Baris menyebut sumber yang gagal sebelum pesan:

/Library/Application Support/ClaudeCode/managed-settings.json: Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.

Sumbernya adalah salah satu dari:

  • Path file managed-settings.json atau file drop-in di bawah managed-settings.d
  • Profil preferensi terkelola macOS, per-user managed preferences atau device-level managed preferences
  • Nilai registry Windows, Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings

Menemukan entri yang dibuang Claude Code mencantumkan apa yang membuat setiap sumber tidak dapat di-parse.

Claude Code menolak untuk dimulai meskipun sumber admin lain menyediakan kebijakan yang valid. Anda melihat error ini dalam sesi interaktif, claude -p, sesi Agent SDK, sesi latar belakang, dan sebagian besar subperintah, termasuk claude doctor. Penolakan ini sengaja bersifat fail-closed: pengaturan dalam dokumen yang tidak dapat di-parse Claude Code tidak dapat diberlakukan, dan tetap memulai akan menjalankan sesi tanpa kontrol organisasi.

Masalah skema dalam dokumen yang dapat di-parse tidak menghasilkan error ini. Menemukan entri yang dibuang Claude Code menjelaskan apa yang dilakukan Claude Code terhadapnya.

Ketika direktori managed-settings.d/ ada tetapi isinya tidak dapat dicantumkan, Claude Code melaporkan Managed settings drop-in directory could not be read: diikuti oleh error yang mendasarinya. Menemukan entri yang dibuang Claude Code menjelaskan kapan kegagalan baca menyebabkan keluar saat startup.

Yang perlu dilakukan:

  • Jika Anda mengelola mesin tersebut, perbaiki dokumen yang disebut agar dapat di-parse sebagai objek JSON, atau hapus file, profil, atau nilai registry tersebut. managed-settings.json yang kosong dihitung sebagai {} dan tidak memblokir peluncuran.
  • Jika tidak, minta admin Anda untuk memperbaiki dokumen yang di-deploy. Tidak ada apa pun dalam file pengaturan Anda sendiri yang menyebabkan atau menghilangkan error ini.

Unable to read managed policy settings

Organisasi Anda men-deploy pengaturan terkelola, dan salah satu sumber yang di-deploy ada tetapi tidak dapat dibaca, karena alasan seperti error I/O, bukan karena sistem operasi menolak pembacaan. Tanpa sumber admin lain yang menyediakan kebijakan, Claude Code keluar saat startup alih-alih berjalan tanpa kebijakan yang mungkin dibawa sumber tersebut:

Unable to read managed policy settings.
This machine may require organization login enforcement, but the policy file failed to load.
Contact your administrator.

Detail: <source>: <reason>

Dalam keadaan yang sama, alur masuk, permintaan API dari sesi yang sudah berjalan, dan server claude gateway ditolak dengan varian baris pertama yang menyebut allowedProviders.

Pembacaan yang ditolak sistem operasi, seperti pada file khusus root, tidak menyebabkan keluar ini: sesi dimulai tanpa kebijakan dari sumber tersebut. Untuk sumber yang tidak dapat di-parse, Claude Code keluar dengan pesan berbeda yang menyebut sumbernya.

Yang perlu dilakukan:

  • Jika Anda mengelola mesin tersebut, perbaiki masalah yang disebut baris Detail: agar sumber yang di-deploy dapat dibaca, atau hapus sumber tersebut
  • Jika tidak, kirim pesan tersebut ke admin Anda. Tidak ada apa pun dalam file pengaturan Anda sendiri yang menyebabkan atau menghilangkan error ini

Sebelum v2.1.285, hanya sesi yang masuk dengan kredensial claude.ai atau Claude Console yang keluar dengan pesan ini, dan pembacaan yang ditolak sistem operasi juga menghasilkannya.

Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded

Blok stderr dari eksekusi -p ini berarti sebuah sumber pengaturan terkelola berisi entri hook yang tidak dapat dimuat Claude Code. Hook tersebut tidak berjalan, dan ketika sebuah baris mencantumkan field hooks sumber tersebut sebagai diabaikan, tidak ada hook dari sumber tersebut yang berjalan.

Setiap baris menyebut sumber, field jika ada, dan masalahnya, seperti type hook yang tidak dikenal atau hook yang dideklarasikan di luar key hooks:

Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded; fix or remove each entry:
  <source> (<field>): <message>

Yang perlu dilakukan:

  • Jika Anda mengelola sumber tersebut, perbaiki atau hapus setiap entri yang dicantumkan blok. Konfigurasi hook menunjukkan bentuk yang diharapkan Claude Code di bawah hooks.
  • Jika sumber sebuah baris adalah parent managed settings, aplikasi yang meluncurkan Claude Code meneruskan entri tersebut sebagai pengaturan induk, jadi laporkan ke pengembang aplikasi tersebut
  • Jika tidak, kirim blok tersebut ke admin Anda

Sebelum v2.1.300, eksekusi -p mencantumkan kasus ini di bawah header Managed settings failed to load; policies from the failed source are NOT in effect:.

otelHeadersHelper failed

Claude Code menampilkan peringatan ini sebagai notifikasi di antarmuka terminal, sekali per sesi interaktif, ketika skrip otelHeadersHelper gagal atau mencetak output yang tidak memenuhi persyaratan skrip.

Selama skrip terus gagal, ekspor gagal dan backend telemetri Anda tidak menerima apa pun dari sesi.

Teks setelah See /status: menyebut apa yang gagal, seperti exit code skrip diikuti oleh output error-nya:

otelHeadersHelper failed; telemetry is not being exported. See /status: exited 1: token service unreachable

Yang perlu dilakukan:

  • Jalankan /status untuk membaca detail kegagalan.
  • Perbaiki skrip agar keluar dengan 0 dalam 30 detik dan mencetak objek JSON berisi nilai header string di stdout. Lihat persyaratan skrip.
  • Jika organisasi Anda men-deploy skrip melalui pengaturan terkelola, minta siapa pun yang mengelolanya untuk memperbaikinya.

Dalam mode non-interaktif dengan -p, kegagalan yang sama muncul di stderr sebagai otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error>.

headersHelper not run

Claude Code menghubungkan server MCP hanya dengan headers statisnya dan melewati headersHelper server tersebut, karena helper adalah perintah shell dan folder tidak memiliki kepercayaan tersimpan. Sebuah folder mendapatkan kepercayaan tersimpan ketika Anda mengatur entrinya di ~/.claude.json secara manual atau, di luar direktori home Anda, ketika Anda menerima dialog kepercayaan untuknya dalam sesi interaktif. Lihat Memercayai folder sebelum headersHelper-nya berjalan untuk server mana saja yang dikenai pemeriksaan ini.

Claude Code menulis baris ini hanya dalam mode non-interaktif, sekali per server. Dalam sesi interaktif, Claude Code menulis penolakan yang sama ke log debug sebagai gantinya.

MCP server 'internal-api': headersHelper not run — this workspace has no persisted trust; accept the trust dialog here once interactively, or set projects["/Users/you/project"].hasTrustDialogAccepted in /Users/you/.claude.json.

Key projects yang dicetak pesan adalah folder yang menurut Aturan allow proyek dan kepercayaan workspace digunakan Claude Code sebagai kunci kepercayaan. Menerima dialog kepercayaan untuk folder induk tidak memenuhi pemeriksaan, demikian pula sesi -p atau SDK.

Yang perlu dilakukan:

  • Jalankan claude di folder yang disebut pesan, terima dialog kepercayaan, lalu jalankan perintah -p atau SDK Anda lagi
  • Atur sendiri entri hasTrustDialogAccepted di ~/.claude.json, menggunakan key projects persis seperti yang dicetak pesan
  • Jika Anda memulai sesi di direktori home Anda, bekerjalah dari direktori proyek yang telah Anda percayai. Ketika Anda menerima dialog kepercayaan di direktori home Anda, Claude Code menyimpan kepercayaan tersebut hanya untuk sesi saat ini.

Malformed Tool(content) rule

Sebuah aturan izin di salah satu file pengaturan Anda tidak memiliki bentuk Tool atau Tool(content), misalnya karena ada teks setelah tanda kurung penutup atau salah satu tanda kurung hilang. Claude Code melewati aturan tersebut dan mencantumkannya di dialog pengaturan tidak valid saat sesi interaktif dimulai, serta di output claude doctor:

Invalid permission rule "Bash(ls) x" was skipped: Malformed Tool(content) rule. Rules take the form Tool or Tool(content) and must end at the closing ")"; parentheses inside the content are literal

Yang perlu dilakukan:

  • Di file pengaturan yang dicantumkan bersama pesan, tulis ulang aturan agar berakhir pada tanda kurung penutupnya, misalnya Bash(ls *) sebagai ganti Bash(ls) x
  • Biarkan tanda kurung di dalam konten apa adanya. Tanda kurung tersebut bersifat literal, sehingga aturan seperti Edit(./Finance (2024)/**) valid tanpa escape

Sebelum v2.1.260, Claude Code melaporkan aturan dengan tanda kurung yang tidak berpasangan sebagai Mismatched parentheses.

Matches no tool · check for typos

Baris di bawah banner startup ini menyebut aturan izin deny atau ask yang nama tool-nya tidak dikenali Claude Code, sehingga aturan tersebut tidak berlaku untuk tool yang Anda maksud. Aturan deny yang ditulis sebagai Bsh tidak diterapkan ke Bash, begitu pula aturan yang menggunakan label yang ditampilkan tool di transkrip alih-alih nama kanoniknya. Baris tersebut mengulang aturan sebagaimana Anda menulisnya:

⚠ Deny rule Bsh matches no tool · check for typos

Dalam mode non-interaktif dengan output teks, Claude Code mencetak peringatan di stderr dalam bentuk yang lebih panjang:

Permission deny rule "Bsh" matches no known tool — check for typos.

Yang perlu dilakukan:

  • Perbaiki nama tool dalam aturan, misalnya Bash sebagai ganti Bsh. Cari nama kanonik di referensi tool.
  • Untuk menemukan tempat aturan didefinisikan, jalankan /permissions dalam sesi dan pilih aturan tersebut. Detailnya menyebut asalnya, seperti From project local settings, atau From CLI argument untuk nilai --disallowedTools.
  • Jika detailnya berbunyi From enterprise managed settings, teruskan baris tersebut ke siapa pun yang mengelola pengaturan terkelola Anda, karena Anda tidak dapat mengubah aturan tersebut sendiri.

Dalam sesi latar belakang atau dengan --output-format json atau stream-json, Claude Code menulis peringatan ke log debug alih-alih stderr. Jalankan dengan --debug untuk menangkapnya di ~/.claude/debug/<session-id>.txt.

Sebelum v2.1.305, sesi interaktif mencetak bentuk yang lebih panjang di stderr saat startup alih-alih menampilkan baris tersebut.

Is not matched by file permission checks

Claude Code menemukan aturan izin Write, NotebookEdit, MultiEdit, atau Glob dengan path di salah satu file pengaturan Anda, di pengaturan terkelola, atau di nilai flag --allowedTools, --disallowedTools, atau --settings. Claude Code memeriksa izin file hanya terhadap aturan Edit dan Read, sehingga tidak pernah memeriksa aturan path yang menyebut salah satu tool file lainnya. Claude Code mempertahankan aturan tersebut dan tidak mengubah apa pun lainnya.

  • Sesi interaktif: peringatan lengkap masuk ke log debug, dan aturan deny atau ask dengan bentuk ini juga ditampilkan sebagai baris ini di bawah banner startup:

    ⚠ Deny rule Write(docs/**) never matches · use Edit(docs/**)
    

    Aturan allow dengan bentuk ini tidak mendapatkan baris. Untuk menemukan tempat aturan didefinisikan, jalankan /permissions dalam sesi dan pilih aturan tersebut.

  • Mode non-interaktif dengan output teks: peringatan lengkap di stderr menyebut aturan, sumbernya dalam tanda kurung, dan pengganti yang perlu ditulis:

    Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).
    
  • Sesi latar belakang, atau --output-format json atau stream-json: peringatan lengkap masuk ke log debug alih-alih stderr, sehingga output yang dibaca mesin tetap bersih. Jalankan dengan --debug untuk menangkapnya di ~/.claude/debug/<session-id>.txt.

Yang perlu dilakukan:

  • Ganti aturan Write(path), NotebookEdit(path), dan MultiEdit(path) lama dengan Edit(path). Aturan Edit mencakup semua tool pengeditan file.
  • Kecuali di --allowedTools, tempat Claude Code menerima aturan Glob tanpa peringatan, ganti aturan Glob(path) dengan Read(path).
  • Perbaiki aturan di sumbernya, yang disebut peringatan lengkap dalam tanda kurung: path file pengaturan, atau flag itu sendiri untuk --allowed-tools dan --disallowed-tools. Path claude-settings-<hash>.json yang tidak ada di disk mewakili nilai --settings inline. Perbaiki JSON yang Anda berikan ke flag tersebut.
  • Biarkan aturan nama tool polos seperti Write atau Glob. Claude Code mencocokkannya di tingkat tool dan tidak memberi peringatan tentangnya.
  • Untuk aturan dari pengaturan terkelola, tanda kurung dalam peringatan lengkap berbunyi managed policy settings dan detail aturan di /permissions berbunyi From enterprise managed settings. Teruskan peringatan tersebut ke siapa pun yang mengelola pengaturan terkelola Anda, karena Anda tidak dapat menghilangkannya sendiri.

Sebelum v2.1.210, Claude Code menerima aturan ini tanpa peringatan. Sebelum v2.1.305, sesi interaktif mencetak peringatan lengkap di stderr.

Has a wildcard before the rest of the command

Claude Code menemukan aturan allow Bash yang *-nya berada sebelum kata selanjutnya yang menentukan perintah apa itu, seperti Bash(git * main) atau Bash(git -C * status *), di salah satu file pengaturan Anda, di pengaturan terkelola, atau di nilai flag --allowedTools atau --settings. * cocok dengan teks apa pun, termasuk opsi yang disisipkan di posisi tersebut: Bash(git * main) juga menyetujui git -c core.fsmonitor=<script> diff main, di mana -c membuat git menjalankan program yang disebut perintah. Pola wildcard menunjukkan aturan pencocokannya.

Peringatan ini ada agar Anda dapat mempersempit aturan yang wildcard-nya lebih luas dari yang Anda maksudkan. Claude Code mempertahankan aturan tersebut dan tidak mengubah apa pun tentang cara pencocokannya. Dalam mode non-interaktif dengan output teks, peringatan di stderr menyebut aturan dan sumbernya dalam tanda kurung:

Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).

Dalam sesi interaktif, peringatan lengkap masuk ke log debug dan aturan ditampilkan sebagai baris ini di bawah banner startup:

⚠ Allow rule Bash(git -C * status *) allows any option at its * · use an exact value

Untuk menemukan tempat aturan didefinisikan, jalankan /permissions dalam sesi dan pilih aturan tersebut.

Yang perlu dilakukan:

  • Ganti * sebelum subperintah dengan nilai persis yang Anda maksud: Bash(git checkout main) sebagai ganti Bash(git * main).
  • Pindahkan setiap * ke setelah subperintah: Bash(git status *) sebagai ganti Bash(git -C * status *). Tulis satu aturan per subperintah yang ingin Anda izinkan.
  • Perbaiki aturan di sumbernya, yang disebut peringatan lengkap dalam tanda kurung: path file pengaturan, atau flag --allowed-tools itu sendiri. Path claude-settings-<hash>.json yang tidak ada di disk mewakili nilai --settings inline. Perbaiki JSON yang Anda berikan ke flag tersebut.
  • Untuk aturan dari pengaturan terkelola, tanda kurung dalam peringatan lengkap berbunyi managed policy settings dan detail aturan di /permissions berbunyi From enterprise managed settings. Teruskan peringatan tersebut ke siapa pun yang mengelola pengaturan terkelola Anda, karena Anda tidak dapat menghilangkannya sendiri.

Dalam sesi latar belakang atau dengan --output-format json atau stream-json, Claude Code menulis peringatan ke log debug alih-alih stderr, sehingga output yang dibaca mesin tetap bersih. Jalankan dengan --debug untuk menangkapnya di ~/.claude/debug/<session-id>.txt. Sebelum v2.1.246, Claude Code menerima aturan ini tanpa peringatan.

Sebelum v2.1.305, sesi interaktif mencetak peringatan lengkap di stderr alih-alih menampilkan baris.

Denying Bash also turns off the PowerShell tool

Anda menghapus seluruh tool Bash, misalnya dengan --disallowedTools Bash atau dengan aturan deny Bash atau Bash(*) polos di salah satu file pengaturan Anda. Di Windows dengan Git Bash terinstal, menolak Bash juga mematikan tool PowerShell, sehingga sesi dimulai tanpa tool shell.

Dalam mode non-interaktif dengan output teks, Claude Code mencetak peringatan ini di stderr saat startup, dan sesi interaktif menulisnya hanya ke log debug:

Denying Bash also turns off the PowerShell tool, so Claude has neither. To use PowerShell, set CLAUDE_CODE_USE_POWERSHELL_TOOL=1.

Yang perlu dilakukan:

  • Agar Claude menggunakan PowerShell, atur CLAUDE_CODE_USE_POWERSHELL_TOOL ke 1 di environment Anda atau di blok env sebuah file pengaturan, seperti yang ditunjukkan Mengaktifkan tool PowerShell. Tool PowerShell kemudian tetap aktif bersama aturan deny Bash Anda.
  • Untuk memblokir perintah tertentu alih-alih seluruh tool, ganti entri Bash polos dengan aturan terbatas seperti Bash(git push *) di file pengaturan atau flag yang sama. Claude tetap memiliki tool Bash, dan tool PowerShell tetap mati sampai Anda juga mengatur variabel tersebut atau menambahkan aturan izin PowerShell yang terbatas.

Dalam sesi latar belakang atau dengan --output-format json atau stream-json, Claude Code menulis peringatan ke log debug alih-alih stderr. Jalankan dengan --debug untuk menangkapnya di ~/.claude/debug/<session-id>.txt. Sebelum v2.1.287, Claude Code mematikan tool PowerShell dengan cara yang sama tanpa mencetak peringatan.

Sebelum v2.1.305, sesi interaktif juga mencetak peringatan di stderr saat startup.

crossSessionInbound must be one of accept, hold, refuse

Sebuah file pengaturan mengatur crossSessionInbound ke nilai yang tidak dikenali Claude Code, seperti salah ketik "reject". Kalimat kedua peringatan bergantung pada file mana yang berisi nilai tersebut; di file pengguna, proyek, lokal, atau --settings berbunyi:

"crossSessionInbound" must be one of "accept", "hold", "refuse"; received "reject". This value was ignored; while it is present, cross-session messages are held for your approval instead of being delivered. Set it to one of the values above.

Di pengaturan terkelola, Claude Code memperlakukan nilai yang tidak dikenali sebagai refuse, nilai yang paling ketat, dan peringatan menyebut bahwa pesan lintas sesi ditolak sampai admin memperbaikinya. Untuk cara penahanan digabungkan dengan nilai di file pengaturan Anda yang lain, lihat crossSessionInbound.

Yang perlu dilakukan:

  • Atur key ke "accept", "hold", atau "refuse", atau hapus key tersebut
  • Ketika peringatan menyebut pengaturan terkelola, minta admin untuk memperbaiki nilainya

Sebelum v2.1.248, Claude Code mengabaikan nilai yang tidak dikenali tanpa peringatan.

ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name

Anda mengatur ANTHROPIC_FOUNDRY_RESOURCE ke sesuatu selain nama resource Microsoft Foundry polos, seperti URL endpoint atau nama host-nya. Claude Code menolak nilai tersebut sebelum mengirim permintaan. Pesan muncul di tempat balasan Claude, bukan sebagai peringatan startup:

API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name (2-64 letters, digits and hyphens, not starting or ending with a hyphen, such as my-resource), not a URL or host name. To use a full URL, set ANTHROPIC_FOUNDRY_BASE_URL instead.

Yang perlu dilakukan:

  • Atur ANTHROPIC_FOUNDRY_RESOURCE hanya ke nama resource dan mulai ulang Claude Code. Untuk endpoint https://my-resource.services.ai.azure.com/anthropic, namanya adalah my-resource.
  • Untuk memberikan URL endpoint lengkap, atur ANTHROPIC_FOUNDRY_BASE_URL ke URL tersebut dan hapus ANTHROPIC_FOUNDRY_RESOURCE, lalu mulai ulang Claude Code. Claude Code hanya menerima salah satu dari kedua variabel tersebut.

The 200K limit isn't enforced

Anda mengatur CLAUDE_CODE_DISABLE_1M_CONTEXT=1, yang biasanya membuat auto-compaction membatasi sesi pada model konteks 1M ke jendela 200K, tetapi tidak ada ambang compaction yang membatasi sesi ini pada atau di bawah 200K, sehingga percakapan dapat tumbuh melewatinya.

CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced for <model>, so this session can grow past it. To enforce it, set CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000 (or the autoCompactWindow setting).

Claude Code memberlakukan batas 200K dengan sendirinya untuk setiap model yang dikenalinya memiliki jendela 1M bawaan, dan untuk ID model yang tidak dikenalinya, Claude Code melakukan compaction pada jendela yang diasumsikannya. Peringatan muncul ketika konfigurasi lain menggagalkan pemberlakuan tersebut:

Yang perlu dilakukan:

  • Atur CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000, atau pengaturan autoCompactWindow ke 200000, agar auto-compaction melakukan compaction di batas 200K
  • Jika pesan menyebut ID model yang tidak dikenali versi ini, jalankan claude update. Versi yang mengenali ID tersebut sebagai model konteks 1M memberlakukan batas tanpa konfigurasi tambahan.
  • Jika Anda ingin sesi menggunakan jendela penuh model, hapus pengaturan CLAUDE_CODE_DISABLE_1M_CONTEXT; peringatan hanya melaporkan bahwa batas 200K tidak diberlakukan

Dalam mode non-interaktif dengan output teks, peringatan ini muncul di stderr. Dalam sesi interaktif, sesi latar belakang, atau dengan --output-format json atau stream-json, peringatan masuk ke log debug sebagai gantinya. Jalankan dengan --debug untuk menangkapnya di ~/.claude/debug/<session-id>.txt.

Sebelum v2.1.305, sesi interaktif mencetak peringatan di stderr saat startup.

ID model tidak dikenali pada permintaan

Claude Code mengirim permintaan untuk ID model yang tidak dikenali versi Claude Code Anda, dan tidak menemukan entri modelOverrides yang memetakan ID tersebut ke model yang dikenalinya. Claude Code tetap mengirim permintaan dengan ID sebagaimana yang Anda konfigurasikan, dan tidak keluar atau berganti model.

[claude-code:unrecognized_model] {"model":"my-proxy-model","query_source":"sdk"}

Dalam skrip atau harness yang membaca stderr, cocokkan dengan prefiks [claude-code:unrecognized_model]. Setelah prefiks dan satu spasi, Claude Code menulis objek JSON satu baris. Claude Code dapat menambahkan field ke objek tersebut di versi mendatang, jadi abaikan field yang tidak Anda harapkan. Claude Code menulis setidaknya dua field berikut:

  • model: string model sebagaimana yang Anda konfigurasikan
  • query_source: jalur permintaan yang menggunakan model tersebut. Misalnya, nilainya adalah sdk untuk percakapan utama eksekusi -p dan diawali dengan agent: untuk subagent.

Claude Code menulis baris tersebut ke salah satu dari dua tempat, tergantung cara Anda menjalankannya:

  • Dalam mode non-interaktif dengan -p, Claude Code menulisnya ke stderr di bawah setiap --output-format, sehingga Anda dapat mem-parse stdout tanpa menyaring baris tersebut
  • Dalam sesi interaktif atau sesi latar belakang, Claude Code menulisnya ke log debug sebagai gantinya; jalankan dengan --debug untuk menangkapnya di ~/.claude/debug/<session-id>.txt

Claude Code menulis baris tersebut sekali per ID model per proses. Claude Code menulis baris terpisah untuk setiap ID tidak dikenali lainnya, seperti ID yang digunakan subagent atau fungsionalitas latar belakang.

Claude Code tidak menulis baris tersebut untuk ID penyedia yang di-resolve-nya ke model yang dikenalinya, seperti ID Amazon Bedrock us.anthropic.claude-..., ID Agent Platform Google Cloud dengan sufiks versi @, dan nama deployment Microsoft Foundry yang berisi ID model Claude. Claude Code memeriksa model di balik ARN application inference profile Amazon Bedrock, bukan ARN itu sendiri. Claude Code tidak menulis baris untuk ARN yang tidak dapat di-resolve-nya, seperti ARN yang salah ketik.

Yang perlu dilakukan:

  • Jika Anda mengatur ID tersebut dengan sengaja, seperti alias LLM gateway, tambahkan entri modelOverrides ke file pengaturan Anda dengan ID tersebut sebagai nilainya. Gunakan ID model Anthropic sebagai key, bukan alias keluarga seperti opus. Untuk my-proxy-model dari baris contoh, tambahkan entri ini:

    {
      "modelOverrides": {
        "claude-opus-4-6": "my-proxy-model"
      }
    }
    

    Claude Code kemudian memperlakukan my-proxy-model sebagai claude-opus-4-6 dan berhenti menulis baris tersebut.

  • Jika ID menyebut model yang lebih baru dari versi Claude Code Anda, jalankan claude update

  • Jika ID salah ketik, perbaiki di mana pun tempat Anda dapat mengatur model atau variabel alias yang menyimpannya. Jika query_source diawali dengan agent:, perbaiki di tempat Anda mengatur model subagent.

Sebelum v2.1.233, Claude Code tidak menulis baris apa pun saat mengirim permintaan untuk ID model yang tidak dikenalinya.

Entri allow sandbox diabaikan di bawah kunci terkelola

Peringatan di /status dan claude doctor ini berarti pengaturan terkelola mengatur allowManagedReadPathsOnly atau allowManagedDomainsOnly, sehingga entri allowRead atau allowedDomains di file yang disebutnya tidak berlaku:

sandbox.filesystem.allowRead is ignored — managed settings set allowManagedReadPathsOnly, so only allowRead paths from managed settings are honored. The 3 entries in /home/you/.claude/settings.json will NOT apply (see https://code.claude.com/docs/en/settings#sandbox-settings).

Untuk kunci jaringan, peringatan menyebut sandbox.network.allowedDomains dan allowManagedDomainsOnly, serta menyatakan only allowed domains (and WebFetch domain rules) from managed settings are honored.

Yang perlu dilakukan:

  • Anda tidak perlu menindaklanjuti peringatan ini
  • Jika Anda membutuhkan path atau domain tersebut dan pengaturan terkelola organisasi Anda mengatur kunci tersebut, minta admin Anda untuk menambahkannya ke pengaturan tersebut. Peringatan tetap ada sampai Anda juga menghapus entri dari file yang disebut.
  • Untuk menghilangkan peringatan, hapus entri dari file yang disebut. Untuk file yang Anda bagikan, seperti .claude/settings.json proyek, Anda dapat membiarkan entri tersebut untuk rekan tim yang tidak terkena kunci dan membiarkan peringatan tetap tampil.

Sandbox mask files left behind at write-deny paths

Peringatan di claude doctor dan /status ini mencantumkan file mask: file placeholder read-only berukuran 0 byte di path yang ditolak penulisannya oleh sandbox. Peringatan muncul di Linux dan WSL2 saat sandboxing diaktifkan dengan isolasi filesystem aktif. Hapus file tersebut dari shell Anda setelah tidak ada sesi Claude Code yang terbuka di proyek yang menyimpannya.

Sandbox membuat placeholder saat perintah dalam sandbox berjalan dan menghapusnya saat perintah berakhir. Placeholder tertinggal dalam kasus seperti berikut:

  • Sesi dihentikan paksa sebelum perintah berakhir, misalnya oleh SIGKILL
  • Anda keluar dari sesi saat perintah dalam sandbox masih berjalan, seperti perintah di latar belakang

Di claude doctor, peringatan berbunyi:

- Sandbox mask files left behind at write-deny paths: /home/you/project/.claude/settings.local.json
  Fix: A session leaves one where it was killed, or where it exited while a sandboxed command was still running. Remove each with `rm <path>` while no other Claude Code session is running in that project — a 0-byte read-only file where a settings file belongs makes "Yes, and don't ask again" fail to save, and the sandbox binds it read-only again on every start

Yang perlu dilakukan:

  • Keluar dari setiap sesi Claude Code yang terbuka di proyek yang menyimpan file yang dicantumkan, termasuk sesi mana pun tempat /status menampilkan peringatan, lalu bekerjalah dari shell Anda. Placeholder yang masih digunakan sandbox sesi lain adalah bagian aktif dari perlindungan penulisan sesi tersebut
  • Di shell Anda, hapus setiap file yang dicantumkan dengan rm, dan konfirmasi jika rm menanyakan tentang file yang dilindungi dari penulisan. Peringatan menyebut hingga tiga file dan menghitung sisanya, jadi jalankan claude doctor lagi setelah menghapus sampai peringatan tidak lagi muncul
  • Jika pilihan izin yang Anda simpan dengan "Yes, and don't ask again" tidak tersimpan, simpan lagi setelah menghapus placeholder

Sebelum v2.1.309, peringatan berbunyi Stale sandbox mask files left by a killed session.

Sebelum v2.1.257, claude doctor tidak menandai file-file ini; versi sebelumnya meninggalkan placeholder yang sama saat sesi dihentikan paksa.

Two Claude Code config files exist

Claude Code menggunakan file pertama yang disebut pesan ini, sehingga isi file kedua tidak berlaku. File pertama adalah .config.json, nama lama untuk .claude.json. Pesan menyertakan pemeriksaan untuk mengetahui file mana yang berisi penyiapan Anda:

Two Claude Code config files exist: this run uses /home/you/.claude/.config.json, not /home/you/.claude.json. The file with the higher count here is usually yours, and this prints nothing else from them: grep -c -E '"(hasCompletedOnboarding|mcpServers)"' "/home/you/.claude/.config.json" "/home/you/.claude.json". To end this: if several hosts share this home, first get every host to version 2.1.319 or later, since an older one can write a moved .config.json back. Then stop your Claude processes on every host, move aside the one you do not want, and start none until no host lists it.

Di Windows, The one with hasCompletedOnboarding or mcpServers in it is usually yours. menggantikan kalimat yang berisi perintah grep.

Yang perlu dilakukan:

1. Temukan file yang berisi penyiapan Anda

  • Di Windows: buka kedua file dan lihat mana yang berisi hasCompletedOnboarding atau mcpServers
  • Di platform lain: di shell Anda, jalankan perintah grep dari pesan dan lihat file mana yang memiliki hitungan lebih tinggi

2. Perbarui setiap host yang berbagi direktori home

Jika beberapa host berbagi direktori home ini, terlebih dahulu perbarui Claude Code di setiap host ke versi yang disebut pesan atau yang lebih baru. Versi lama dapat menulis kembali .config.json yang telah dipindahkan.

3. Hentikan Claude Code

Hentikan proses Claude Code Anda di setiap host.

4. Pindahkan file yang tidak Anda inginkan

Pindahkan file yang tidak Anda inginkan keluar dari foldernya. Pindahkan alih-alih menghapusnya, agar Anda dapat mengembalikannya.

5. Tunggu sebelum menjalankan Claude Code lagi

Jangan jalankan Claude Code di host mana pun sampai tidak ada host yang masih mencantumkan file yang dipindahkan di path lamanya.

Pesan berhenti muncul setelah salah satu dari kedua file tersebut tidak ada lagi.

Make this change again later: ~/.claude.json could not be updated

Pemberitahuan di stderr ini berarti perubahan pada ~/.claude.json, seperti proses masuk atau jawaban atas prompt kepercayaan, tidak tersimpan ke file:

Make this change again later: /home/user/.claude.json could not be updated, so it applies to this session only.

Yang perlu dilakukan:

  • Lakukan perubahan lagi di sesi berikutnya. Misalnya, jalankan /login lagi atau jawab prompt kepercayaan lagi.

Respons tampak berkualitas lebih rendah dari biasanya

Jika jawaban Claude tampak kurang mampu dari yang Anda harapkan tetapi tidak ada kesalahan yang ditampilkan, penyebabnya biasanya adalah status percakapan daripada model itu sendiri. Claude Code tidak secara diam-diam mengubah versi model. Ini dapat beralih ke model fallback dalam kasus-kasus berikut:

  • --fallback-model yang dikonfigurasi mengambil alih setelah kesalahan ketersediaan, hanya untuk giliran itu, dengan pemberitahuan dalam transkrip
  • Pemeriksaan startup Amazon Bedrock atau Google Cloud's Agent Platform menemukan model default Anda tidak tersedia, atau akun Anda kehilangan akses ke sana di tengah sesi
  • Fallback model otomatis pada model Fable, Opus 5.5, Sonnet 5.5, dan Opus 5 memindahkan sesi ke model fallback kategori yang ditandai, ketika kategori itu memiliki satu. Pemberitahuan muncul dalam transkrip

Pemeriksaan Model selection di bawah menangkap kasus kedua dan ketiga; yang pertama muncul sebagai pemberitahuan transkrip daripada perubahan /model. Model configuration menjelaskan kapan setiap fallback berlaku.

Periksa ini terlebih dahulu:

  • Model selection: jalankan /model untuk mengonfirmasi Anda berada di model yang Anda harapkan. Pilihan /model sebelumnya atau variabel lingkungan ANTHROPIC_MODEL mungkin membuat Anda berada di model yang lebih kecil dari yang Anda maksudkan.
  • Effort level: jalankan /effort untuk memeriksa tingkat penalaran saat ini dan naikkan untuk debugging atau pekerjaan desain yang sulit. Default bervariasi menurut model, jadi periksa sebelum menganggap Anda di bawah maksimum. Lihat Adjust effort level untuk default per-model dan pintasan ultrathink.
  • Context pressure: jalankan /context untuk melihat seberapa penuh jendela itu. Jika mendekati kapasitas, jalankan /compact pada titik alami atau /clear untuk memulai segar. Lihat Explore the context window untuk bagaimana auto-compact mempengaruhi giliran sebelumnya.
  • Stale instructions: file CLAUDE.md yang besar atau ketinggalan zaman dan definisi alat MCP mengonsumsi konteks dan dapat mengarahkan respons. Pemeriksaan /doctor menandai file memori yang berukuran besar dan ekstensi yang tidak digunakan, dan /context menampilkan penggunaan token alat MCP. Sebelum v2.1.205, /doctor membuka layar diagnostik yang menandai file memori yang berukuran besar dan definisi subagent.

Ketika respons salah, rewinding biasanya bekerja lebih baik daripada membalas dengan koreksi. Tekan Esc dua kali atau jalankan /rewind untuk mundur ke sebelum giliran buruk, kemudian rephrase prompt dengan lebih spesifik. Mengoreksi dalam-thread menjaga upaya yang salah dalam konteks, yang dapat menambatkan jawaban nanti ke sana. Lihat Checkpointing.

Jika kualitas masih tampak tidak benar setelah memeriksa di atas, jalankan /feedback dan jelaskan apa yang Anda harapkan versus apa yang Anda dapatkan. Umpan balik yang dikirimkan dengan cara ini mencakup transkrip percakapan, yang merupakan cara tercepat bagi Anthropic untuk mendiagnosis regresi nyata. Lihat Report an error jika /feedback tidak tersedia di lingkungan Anda.

Jika Claude memperingatkan tentang injeksi prompt yang dicurigai, atau menolak permintaan karena injeksi yang dicurigai, dan teks yang dinamai peringatan adalah konteks yang Claude Code tambahkan ke percakapan secara otomatis daripada konten file atau web, jalankan claude update dan coba lagi. Jika peringatan berulang setelah memperbarui, laporkan daripada menempel konten yang ditandai kembali ke prompt. Sebelum v2.1.201, Sonnet 5 menolak beberapa permintaan dengan cara yang sama.

Laporkan kesalahan

Untuk kesalahan dari komponen yang tidak tercakup di halaman ini, lihat panduan yang relevan:

Jika kesalahan tidak tercantum di sini atau perbaikan yang disarankan tidak membantu:

  • Jalankan /feedback di dalam Claude Code untuk mengirimkan transkrip dan deskripsi ke Anthropic. Perintah ini juga menawarkan untuk membuka masalah GitHub yang sudah diisi sebelumnya. Pengiriman ke Anthropic memerlukan authentication. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan penyedia pihak ketiga lainnya, atau ketika tidak ada kredensial Anthropic yang dikonfigurasi, /feedback menyimpan arsip lokal yang dapat Anda kirimkan ke perwakilan akun Anthropic Anda.
  • Jika /feedback menjawab bahwa perintah tersebut dinonaktifkan oleh kebijakan organisasi Anda, lihat entri untuk pesan tersebut
  • Jalankan claude doctor dari shell Anda untuk diagnostik sistem file read-only dari instalasi Anda, atau jalankan pemeriksaan /doctor di dalam Claude Code untuk menemukan dan memperbaiki masalah pengaturan
  • Periksa status.claude.com untuk insiden aktif
  • Cari existing issues di GitHub