SC26AI agents lab + dinner on the river · Nov 17
Parallel Works

Troubleshooting

Solutions to common issues when working with pw code. For problems with the web chat interface, see Chat troubleshooting.

pw code Is Not Recognized or Lacks a Feature

Symptom: The pw code command is missing, or a feature described in these docs does not exist in your install.

Cause: The CLI is not installed or is outdated.

Solution: Check your version with pw --version (or /version inside a session) and update to the latest release. See the CLI documentation.

No Models Available

Symptom: The model picker is empty, or pw code reports that no models are available.

Cause: No AI provider is configured for your account, or none is shared with you.

Solution:

  • Run pw ai models ls to see the models you can use, and pw ai providers ls to see your providers.
  • If both are empty, configure a provider or ask your administrator for access. See AI Providers.
  • Verify you are authenticated: run pw auth whoami, and sign in again with pw auth if needed. See Authentication.

"An allocation is required for org provider models"

Symptom: Starting with an org: model fails with an allocation error, or a one-shot run exits immediately with this message.

Cause: Organization provider models draw from a budget allocation, and none is set.

Solution:

  • In an interactive session, pw code prompts you to pick from the allocations you may use; you can also run /allocation at any time.
  • In non-interactive runs there is no picker: pass --allocation <name>.
  • If no allocations are listed, ask your organization admin for access. See Models & Allocations.

Invalid Model Format

Symptom: pw code <model> rejects the model ID.

Cause: Model IDs must have the form owner:provider-name/model-name and always contain a /.

Solution: Run pw ai models ls and copy the ID exactly, for example Jake.Thayne:openai/gpt-5.2 or org:openai/gpt-5.2. See Models & Allocations.

Authentication Expired Mid-Session

Symptom: Requests start failing with authentication errors partway through a session.

Cause: Your token or API key expired while the session was open.

Solution: Run /auth inside the session to re-authenticate without losing your conversation. Credentials are entered at a secure prompt. Never paste them into the chat itself.

The Agent Will Not Edit Files

Symptom: Every edit is denied, or the agent only reads and plans.

Cause: The session is in a restrictive permission mode: read-only denies edits, and plan allows edits only to plan documents.

Solution: Check the mode in the status line and press Shift+Tab to cycle to accept-edits, or restart with --permission-mode accept-edits. Mode changes made with Shift+Tab persist as your default.

Shell Commands Prompt Every Time

Symptom: The agent stops for approval on the same command over and over.

Cause: Approvals are per command; nothing is remembered unless you add an allow rule.

Solution:

  • Add a rule from inside the session: /permissions add Bash(git status:*). Rules added this way persist across sessions.
  • Note that every part of a compound command must be covered by a rule, and commands containing $(...) or backticks are never auto-approved. See Permissions.

Scripted Runs Fail on Approvals

Symptom: A -p run reports that commands were denied, or does less than expected.

Cause: One-shot runs cannot prompt, so any action that would need approval fails closed.

Solution: Pre-approve what the run needs with --allowedTools or --add-dir, or choose a mode that fits the job: read-only for analysis, bypass-permissions only in disposable environments. See Non-Interactive Mode.

"Turn stopped: per-turn token budget reached"

Symptom: A turn ends with this message in the transcript.

Cause: The maxTurnTokens setting caps how many tokens a single turn may consume.

Solution: The session continues: send the next message to pick up where the turn stopped, or raise or unset maxTurnTokens. See Usage & Costs.

The Agent Seems to Forget Earlier Context

Symptom: The agent stops referencing details from earlier in a long session.

Cause: When the live context reaches the compaction threshold, older messages are replaced with a summary.

Solution: This is expected in long sessions. Re-state the constraints that matter, keep them in project instructions so they survive compaction, or raise the threshold with the compactAt setting. See Usage & Costs.

A Session Is Missing from the Picker

Symptom: pw code --resume does not list a session you expect.

Cause: The picker defaults to sessions from the current directory; sessions in which you never sent a message are not saved; and sessions may have been swept if you enabled retention.

Solution:

  • Switch Scope to All in the picker to see every saved session.
  • Sessions are kept forever unless you set sessionRetentionDays to a positive number, in which case sessions untouched for that many days are deleted at startup. See Sessions & Resume.

Sessions Do Not Appear in the Web Chat List

Symptom: Sessions from pw code are not visible in the Chat interface.

Cause: This is expected: pw code sessions are stored locally on your machine and are never uploaded to your account.

Solution: Resume local sessions with pw code -r. Chats saved to your account are separate; manage them with pw ai chats. See the pw code overview.

The Agent Never Delegates to Subagents

Symptom: Asking the agent to parallelize or delegate does nothing, and the agent switcher never appears.

Cause: Subagents are disabled, or the session hit its per-session subagent budget.

Solution:

  • Check that the Subagents row in /settings is enabled (the disableSubagents setting).
  • A session may spawn at most 200 subagents; once reached, the agent finishes work itself. /clear resets the budget along with the conversation. See Subagents.

A Subagent's Changes Are Not in My Files

Symptom: A subagent reports completed edits, but your working tree is unchanged.

Cause: Custom agents with worktree isolation run in a temporary git worktree, a separate checkout of the repository.

Solution: The subagent's report names the worktree path; fetch or merge its work from there. See Worktree Isolation.

An MCP Server's Tools Are Missing

Symptom: A configured MCP server never connects, or its tools are not offered to the agent.

Cause: The server failed to start or connect, or its configuration is shadowed by a higher-precedence file.

Solution:

  • Run /mcp to see each server's status and pw code mcp list to see which config file is active. An mcpServers map in a higher-precedence file replaces the whole map below it.
  • Slow servers (for example, ones that download packages on first run) may need a longer timeout: set a per-server timeout or the MCP_TIMEOUT environment variable.
  • A stdio server must keep stdout clean for the protocol and log to stderr only. See MCP Servers.

Workspace Settings or Commands Are Not Applying

Symptom: A workspace's .agents settings, MCP servers, custom commands, or agent definitions have no effect.

Cause: Workspace configuration only applies after you approve it, and unapproved files are ignored. Non-interactive runs never prompt for approval.

Solution: Launch pw code interactively in that workspace and answer the approval prompt; the approval is remembered until the files change. See Workspace Trust.

Images Will Not Paste

Symptom: Ctrl+V does not attach a clipboard image, especially over SSH.

Cause: Inside an SSH session your local clipboard is not reachable by the remote pw code process.

Solution: Copy the file to the remote machine (for example with scp) and attach it by path with @~/screenshot.png instead. See Interface & Shortcuts.

Getting Help

If the solutions above do not resolve your issue:

  1. Run /status in a session for a summary of the model, session, and configuration in effect.
  2. Check the pw code overview for prerequisites and setup.
  3. Review AI Providers to verify your provider configuration.