Troubleshooting and FAQ
Common questions and answers grouped by topic. All commands follow Shortcuts and commands.
Install
Q: macOS / Linux install reports permission denied
A: curl | sh writes to /usr/local/bin by default. If that directory is not writable by the current user, set AIC_INSTALL_DIR:
curl -fsSL https://gitee.com/KaiyuanEra/aic-registry/raw/main/aic/install.sh \
| AIC_INSTALL_DIR=$HOME/bin sh
Add $HOME/bin to PATH (in ~/.zshrc or ~/.bashrc).
Q: Windows install reports Expand-Archive not available
A: Expand-Archive is a built-in cmdlet in PowerShell 5.1+. Upgrade PowerShell to 5.1 or install pwsh 7+. Windows 10 1809 / Windows 11 ship with a compatible PowerShell.
Q: Checksum mismatch — what now?
A: Most likely a network intermediary corrupted the download. Re-download and verify; if it still mismatches, file a report via Contact with the Release tag, platform, and SHA256 output.
Q: GPG verification reports Can't check signature: No public key
A: Import the author’s public key first. The fingerprint is published in each Release’s release notes. Use gpg --recv-keys <fingerprint> or gpg --import <pubkey.asc>.
Sync
Q: aic sync reports permission denied when creating symlinks
A: On Linux/macOS, check write permission on the target tool directories (such as .claude/ / .codex/). If they belong to another user:
sudo chown -R "$USER" .claude .codex .gemini .opencode
On Windows, without admin privileges or Developer Mode, aic automatically falls back to copy sync. No error is raised, but logs note “fallback to copy”.
Q: Windows: OPENCODE_CONFIG_DIR is not set
A: aic searches for OpenCode config in this order: OPENCODE_CONFIG_DIR → XDG_CONFIG_HOME → ~/.config/opencode. If none are set, the default path ~/.config/opencode is created automatically.
Q: After aic sync, a Skill shows BROKEN
A: The symlink source is missing (no longer present in ~/.aic/cache/skills/<name>). Repair:
aic sync # Let aic re-pull automatically
aic update <skill> # Or update manually
Registry
Q: Registry access times out
A: Check protocol in ~/.aic/config.toml:
protocol = "ssh" # or "https" / "http"
ssh_key_path = "~/.ssh/id_ed25519"
For ssh, confirm that ssh_key_path points to a private key available on this machine and that ssh -T git@<host> succeeds.
Q: authentication failed
A: The current account lacks permission for the Registry repo. Contact the maintainer team rd/op/skills (see Contact).
Q: Switch to the Gitee / GitHub mirror
A: In the TUI, press , or click ⚙ to open settings and switch the Registry mirror.
You can also edit ~/.aic/config.toml:
[registry]
host = "gitee.com" # or "github.com"
protocol = "https"
Env
Q: aic env check reports missing required variables
A: Fill them in via the Env panel:
tabto the Env panelato add a variable, then enterKEYand valuecto re-check
Or via CLI:
aic env add MY_API_KEY --scope project
aic env check
Q: Promote a project-local debug variable to global
A: Use promote:
aic env promote MY_API_KEY
Q: Edited env values do not take effect
A: The active Skill / Context does not auto-reload. In the TUI, press r in the Env panel to refresh; or rerun on the CLI:
aic sync
Provider
Q: After switching Provider, the tool still uses the old config
A: Switching only updates configuration files. Restart the tool client for the change to take effect. Verify with aic list after restart.
Q: Where are backups?
A: ~/.aic/cache/<provider>/.<name>.bak. The next switch overwrites them; copy them elsewhere if you need long-term retention.
Q: My Provider profile is not listed
A: Provider profile files are created manually:
cp opencode.json opencode.json.work
# Edit opencode.json.work to adjust model / account
Refresh in the TUI’s Provider panel and aic picks it up automatically.
TUI
Q: TUI fails to start in a non-TTY environment
A: In CI / remote sessions where aic detects a non-TTY, it falls back to plain text output instead of launching the TUI. If you need to run inside a pseudo-terminal (e.g. tmux), make sure the outer wrapper is script or unbuffer.
Q: Keyboard shortcuts do not respond
A: Check:
- Whether the terminal emulator intercepts the keystroke (for example, certain key bindings on macOS Terminal)
- Whether you are in insert mode (after pressing
i, some shortcuts stop working) - The complete key bindings for the current panel via
ctrl+?
Q: Theme switch has no visible effect
A: The theme persists to tui_theme in ~/.aic/config.toml. Changes apply to the current session immediately. If the change does not survive restart, check that the config file is writable.
Q: First keystroke after TUI start has noticeable latency
A: Usually the first Registry sync blocks startup. Wait for the sync progress bar to finish; alternatively pre-warm the cache with cd ~/.aic/cache && git fetch and the next startup will use the warm cache.
Misc
Q: How do I check the current aic version?
aic --version
Q: How do I upgrade?
# macOS / Linux
curl -fsSL https://gitee.com/KaiyuanEra/aic-registry/raw/main/aic/install.sh | AIC_VERSION=vX.Y.Z sh
Windows: irm https://gitee.com/KaiyuanEra/aic-registry/raw/main/aic/install.ps1 | iex -AICVersion vX.Y.Z.
Q: My question is not answered here
File an Issue via Contact.