Troubleshooting¶
Common problems and how to fix them.
Installation¶
"git CLI not found"¶
agr uses git under the hood for all remote operations. Install it:
"Repository not found"¶
The repository doesn't exist or is private. Check:
- Typo in the handle? Verify the username and repo name on GitHub.
- Private repo? Set a GitHub token (see Private Repositories):
- Non-default repo name? Use the three-part handle format:
"Authentication failed"¶
Your GitHub token is missing, expired, or lacks permissions.
- No token set? Export one:
- Token expired? Generate a new one at github.com/settings/tokens.
- Wrong permissions? The token needs Contents: Read-only access on the target repository. Fine-grained tokens are recommended.
"Skill not found in repository"¶
Error: Skill 'myskill' not found in repository.
No directory named 'myskill' containing SKILL.md was found.
The repo exists but doesn't contain a skill with that name. agr searches recursively for a directory matching the skill name that contains a SKILL.md file.
Fix: Check the repo on GitHub to see what skills are available. If you used a two-part handle, agr may suggest corrections:
Skill 'myskill' not found. However, 'user/myskill' exists as a repository with 3 skill(s):
agr add user/myskill/skill1
agr add user/myskill/skill2
agr add user/myskill/skill3
"Skill already exists"¶
The skill is already installed. To update it:
Or remove it first:
"Network error: could not resolve host"¶
DNS resolution failed. Check your internet connection, VPN, or proxy settings.
Handle Format¶
"Invalid handle: remote handles require username/name format"¶
A single word is treated as a local path. For remote skills, include the username:
"Too many path segments"¶
Handles support at most three parts: user/repo/skill. Check for extra slashes.
"Contains reserved sequence '--'"¶
Skill names cannot contain --. Rename the skill to use single hyphens.
Configuration¶
"No agr.toml found"¶
You're running a command that requires agr.toml but the file doesn't exist yet. Create one:
Or use interactive setup:
"Not in a git repository"¶
Project-level commands need to run inside a git repo. Either cd into one or initialize git:
"Unknown tool"¶
Error: Unknown tool 'photoshop' in agr.toml. Available: claude, cursor, codex, opencode, copilot, antigravity
Check your agr.toml for typos in the tools list. The supported tools are:
| Config name | Tool |
|---|---|
claude |
Claude Code |
cursor |
Cursor |
codex |
OpenAI Codex |
opencode |
OpenCode |
copilot |
GitHub Copilot |
antigravity |
Antigravity |
"dependencies must be declared before [[source]] blocks"¶
In agr.toml, the dependencies array must come before any [[source]] entries:
# Correct order
dependencies = [
{handle = "user/skill", type = "skill"},
]
[[source]]
name = "github"
type = "git"
url = "https://github.com/{owner}/{repo}.git"
"canonical_instructions must be 'AGENTS.md', 'CLAUDE.md', or 'GEMINI.md'"¶
Only these three instruction file names are supported for syncing. Other filenames like README.md or INSTRUCTIONS.md won't work.
Syncing¶
"No dependencies in agr.toml. Nothing to sync."¶
Your agr.toml exists but has no dependencies entry. Add skills first:
This both installs the skill and adds it to agr.toml.
"Instruction sync skipped: CLAUDE.md not found."¶
You have sync_instructions = true but the canonical instruction file doesn't exist yet. Create it:
Then run agr sync again.
Instruction sync enabled but nothing happens¶
You have sync_instructions = true but agr sync doesn't copy any instruction
files. Two common causes:
-
Only one tool configured. Instruction syncing requires two or more tools — with a single tool, there's nothing to sync to. Add another tool:
-
All tools use the same instruction file. If all your configured tools share the same instruction file (e.g., Cursor, Codex, and OpenCode all use
AGENTS.md), there's nothing to copy. Syncing only helps when tools need different instruction files (e.g., Claude usesCLAUDE.md, Codex usesAGENTS.md).
Sync shows "Up to date" but skill seems outdated¶
agr caches cloned repos. To force a fresh install:
Sources¶
"Cannot remove default source"¶
You can't remove a source that is currently set as default_source. Change the
default first:
"Local skills cannot specify a source"¶
The --source flag only applies to remote handles. Local paths (./my-skill)
are installed directly from disk — they don't go through any source:
Creating Skills¶
"Invalid skill name"¶
Skill names must be lowercase letters, numbers, and hyphens only. No spaces or special characters:
"Directory already exists"¶
agr init won't overwrite an existing directory. Either remove it or choose a different name.
Skill not showing up in my tool¶
After agr add ./skills/my-skill, verify:
- Check the skill directory exists in the tool's skills folder (e.g.,
.claude/skills/my-skill/SKILL.md). - Validate SKILL.md frontmatter — both
nameanddescriptionare required: - Restart the tool — some tools require a restart to pick up new skills.
- Check
agr listto see if the skill is registered.
Global Installs¶
"No global agr.toml found"¶
There's no global config yet. Install a skill globally to create one:
The global config lives at ~/.agr/agr.toml.
Still stuck?¶
- Run the failing command with details and check the output carefully — agr prints hints below most errors.
- Check GitHub Issues for known problems.
- Open a new issue with the full error output and your
agr.tomlcontents.