Skip to content

Troubleshooting

Common issues and solutions for aisw.


If running aisw use updates the profile list but doesn’t change the active environment variable for a tool (like ANTHROPIC_API_KEY), the shell hook might not be loaded.

Run:

Terminal window
echo $AISW_SHELL_HOOK

If it’s empty, the hook is not loaded.

  1. Verify the hook line is in your RC file (.zshrc, .bashrc, or config.fish).
  2. Restart your terminal or source the RC file manually:
    Terminal window
    source ~/.zshrc
  3. Check for shell-specific issues in Shell Integration.

If aisw status reports a tool as not installed, aisw cannot find the binary on your PATH.

  1. Verify the tool is installed and its binary is on your PATH.
    Terminal window
    which claude
    which codex
    which gemini
  2. If you installed a tool after starting your terminal, try hash -r (bash) or rehash (zsh) to update the binary cache.

Gemini’s OAuth flow captures a token cache by overriding the HOME directory to a temporary “scratch” location.

aisw add gemini completes the login in the browser, but aisw reports: Gemini login completed but no credential files were found in the token cache.

  • Ensure aisw has permission to create and write to the system temporary directory (usually /tmp or $TMPDIR).
  • Try using an API key instead: aisw add gemini work --api-key <key>.

aisw strictly enforces 0600 permissions for your security.

Errors when writing to ~/.aisw/ or ~/.claude/.

  1. Ensure your user owns the ~/.aisw directory and its contents.
  2. Check if another process or a different version of the tool has locked the credential files.
  3. On macOS, ensure your terminal has “Full Disk Access” if you are trying to manage files in protected system directories.

If you get a warning that an account identity already exists under a different profile name, it means aisw detected the same email or account ID in the credentials.

  • Use the existing profile name reported in the warning.
  • If you genuinely want a second alias for the same account, you may need to rename or remove the existing profile first.

If you encounter an issue not listed here, please report it on GitHub.