Skip to main content
This guide covers common issues you might encounter when using Spec Kit and their solutions.

Installation Issues

Specify CLI Not Found

Symptoms: After installing with uv tool install, specify command not found.Solutions:
  1. Check if installed:
    uv tool list
    
  2. Verify PATH includes uv tools:
    echo $PATH | grep -o "[^:]*uv[^:]*"
    
  3. Add to PATH (if missing):
    # For bash/zsh
    export PATH="$HOME/.local/bin:$PATH"
    
    # Add to ~/.bashrc or ~/.zshrc for persistence
    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
    
  4. Reinstall with force:
    uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git
    

UV Not Installed

Solution: Install uv package manager:
# Linux/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# Alternative: Using pip
pip install uv
Then retry installing Specify CLI.

Python Version Issues

Symptoms: Error during installation about Python version.Solution: Install Python 3.11 or higher:
# Check current version
python --version

# Linux (apt)
sudo apt update
sudo apt install python3.11

# macOS (Homebrew)
brew install [email protected]

# Or use uv's Python management
uv python install 3.11

Git Authentication Issues

Git Credential Manager (Linux)

Symptoms: Can’t push to GitHub, authentication errors.Solution: Install Git Credential Manager:
#!/usr/bin/env bash
set -e

echo "Downloading Git Credential Manager v2.6.1..."
wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.6.1/gcm-linux_amd64.2.6.1.deb

echo "Installing Git Credential Manager..."
sudo dpkg -i gcm-linux_amd64.2.6.1.deb

echo "Configuring Git to use GCM..."
git config --global credential.helper manager

echo "Cleaning up..."
rm gcm-linux_amd64.2.6.1.deb

echo "✓ Git Credential Manager installed"
Then retry git operations.

SSH Key Issues

Symptoms: Can’t clone/push using SSH.Solution: Set up SSH keys:
# Generate SSH key
ssh-keygen -t ed25519 -C "[email protected]"

# Start SSH agent
eval "$(ssh-agent -s)"

# Add key to agent
ssh-add ~/.ssh/id_ed25519

# Copy public key
cat ~/.ssh/id_ed25519.pub

# Add to GitHub: Settings → SSH and GPG keys → New SSH key
Verify connection:

Branch and Feature Issues

Not on Feature Branch

Symptoms: Commands fail because you’re on main or other branch.Solution:
  1. Create new feature:
    # In your AI agent
    /speckit.specify Build user authentication system
    
  2. Or switch to existing feature:
    git checkout 001-user-auth
    
  3. For non-Git repos, set environment variable:
    export SPECIFY_FEATURE="001-user-auth"
    

Feature Directory Not Found

Symptoms: Scripts can’t find feature directory.Solution:
  1. Verify branch matches directory:
    # Check current branch
    git branch
    
    # List feature directories
    ls specs/
    
  2. Create missing directory:
    mkdir -p specs/001-feature
    
  3. Or create new feature properly:
    # In AI agent
    /speckit.specify Feature description
    

Branch Name Too Long

Symptoms: Branch name automatically truncated.Solution: This is normal - the script automatically handles it. The warning is informational.To avoid truncation, use shorter feature descriptions or custom short names:
# Use --short-name option
./.specify/scripts/bash/create-new-feature.sh \
  "Very long feature description here" \
  --short-name "short-name"

Missing Prerequisites

Plan.md Not Found

Symptoms: /speckit.tasks or /speckit.implement fails.Solution: Create implementation plan first:
# In AI agent
/speckit.plan Use Python with FastAPI, PostgreSQL database
Verify plan exists:
ls specs/001-feature/plan.md

Tasks.md Not Found

Symptoms: /speckit.implement fails.Solution: Generate task breakdown first:
# In AI agent
/speckit.tasks
Verify tasks exist:
ls specs/001-feature/tasks.md

Spec.md Not Found

Symptoms: /speckit.plan can’t find specification.Solution: Create specification first:
# In AI agent
/speckit.specify Build a photo album application
Verify spec exists:
ls specs/001-feature/spec.md

Agent-Specific Issues

Commands Not Appearing

Symptoms: /speckit.* commands not available in agent.Solution:
  1. Verify commands installed:
    # For Claude
    ls .claude/commands/speckit.*.md
    
    # For opencode
    ls .opencode/command/speckit.*.md
    
    # For Gemini
    ls .gemini/commands/speckit.*.toml
    
  2. Restart AI agent: Close and reopen the agent
  3. Reinstall Specify:
    # In project directory
    specify init . --force --ai claude
    
  4. Check agent running in correct directory:
    pwd  # Should be in project root with .specify/ folder
    

Agent Can’t Find Files

Symptoms: Agent reports file not found errors.Solution:
  1. Verify files exist:
    ls -la specs/001-feature/
    
  2. Update agent context:
    # Bash
    ./.specify/scripts/bash/update-agent-context.sh
    
    # PowerShell
    .specify\scripts\powershell\update-agent-context.ps1
    
  3. Check agent working directory:
    • Agent should be started from project root
    • Not from .specify/ or specs/ subdirectory

TOML vs Markdown Format

Symptoms: Commands work in some agents but not others.Solution: Different agents use different formats:
  • Markdown (.md): Claude, Cursor, opencode, Windsurf, Amp, SHAI, Amazon Q
  • TOML (.toml): Gemini, Qwen
Reinstall with correct agent:
specify init . --force --ai gemini  # For TOML
specify init . --force --ai claude  # For Markdown

Extension Issues

Extension Not Found in Catalog

Symptoms: Can’t install extension by name.Solution:
  1. Check catalog URL:
    echo $SPECKIT_CATALOG_URL
    
  2. Use community catalog or install from URL:
    # Install from URL directly
    specify extension add --from https://github.com/org/spec-kit-ext/archive/refs/tags/v1.0.0.zip
    
  3. Populate your catalog: Copy extension entry from catalog.community.json to your organization’s catalog.json

Extension Configuration Missing

Symptoms: Extension commands fail due to missing config.Solution:
  1. Create config from template:
    cp .specify/extensions/jira/jira-config.template.yml \
       .specify/extensions/jira/jira-config.yml
    
  2. Edit configuration:
    vim .specify/extensions/jira/jira-config.yml
    
  3. Or use environment variables:
    export SPECKIT_JIRA_PROJECT_KEY="MYPROJECT"
    

Extension Version Incompatible

Symptoms: Can’t install extension due to version mismatch.Solution:
  1. Upgrade Spec Kit:
    uv tool upgrade specify-cli
    
  2. Or install older extension version:
    specify extension add --from https://github.com/org/ext/archive/v1.0.0.zip
    

Script Issues

Script Not Executable

Symptoms: Can’t run bash scripts.Solution:
# Make scripts executable
chmod +x .specify/scripts/bash/*.sh

# Or run with bash
bash .specify/scripts/bash/create-new-feature.sh

Execution Policy (PowerShell)

Symptoms: Can’t run PowerShell scripts.Solution:
# Check current policy
Get-ExecutionPolicy

# Allow local scripts (recommended)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

# Or bypass for single script
powershell -ExecutionPolicy Bypass -File .specify\scripts\powershell\create-new-feature.ps1

Script Output Encoding Issues

Symptoms: Unicode characters appear as boxes or question marks.Solution:
# Bash: Ensure UTF-8 locale
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
# PowerShell: Set output encoding
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

Template Issues

Template Not Found

Symptoms: Commands can’t find template files.Solution:
  1. Verify template directory exists:
    ls .specify/templates/
    
  2. Reinstall templates:
    specify init . --force --ai claude
    
  3. Or copy templates manually from Spec Kit repository

Template Variables Not Replaced

Symptoms: Template variables not substituted.Solution: This is expected - the AI agent is responsible for filling in placeholders.
  1. Review generated file: Check if AI agent filled in values
  2. Manually replace remaining placeholders
  3. Or regenerate with more specific instructions:
    # Be more explicit in commands
    /speckit.specify Build a user authentication system with email/password login
    

Performance Issues

Slow Command Execution

Possible causes and solutions:
  1. Large codebase: AI agent scanning many files
    • Add .gitignore entries for node_modules, build dirs
    • Use .aiderignore or agent-specific ignore files
  2. Network issues: Fetching git refs or catalogs
    • Check internet connection
    • Use local catalog for extensions
  3. Too many extensions: Loading many extensions
    • Disable unused extensions: specify extension disable <name>
    • Only install what you need

Agent Out of Memory

Solutions:
  1. Split large features into smaller ones
  2. Reduce context by focusing on specific files
  3. Close and restart agent between major operations
  4. Increase system memory if possible

Non-Git Workflows

SPECIFY_FEATURE Not Persisting

Symptoms: Must set SPECIFY_FEATURE every time.Solution:
  1. Add to shell profile:
    # In ~/.bashrc or ~/.zshrc
    export SPECIFY_FEATURE="001-current-feature"
    
  2. Or use direnv for automatic switching:
    # Install direnv
    # Create .envrc in project
    echo 'export SPECIFY_FEATURE="001-feature"' > .envrc
    direnv allow
    
  3. Or always specify in commands:
    SPECIFY_FEATURE="001-feature" ./script.sh
    

No Git, Scripts Fail

Symptoms: Scripts warn about Git not being available.Solution: This is informational - scripts automatically fall back to non-Git mode.
  • Branch creation is skipped
  • Feature detection uses SPECIFY_FEATURE or directory scan
  • All other functionality works normally
To suppress warnings:
# Set this in your environment
export SPECIFY_NO_GIT_WARNING=1

Validation Errors

Checklist Items Not Passing

Symptoms: /speckit.checklist shows unchecked items.Solution:
  1. Review each failed item: Read why it’s failing
  2. Update artifacts: Fix issues in spec.md, plan.md, etc.
  3. Re-run validation: Have AI agent check again
Use /speckit.analyze for automated consistency checks across artifacts.

Constitution Violations

Symptoms: Constitution check shows violations.Solution:
  1. Justify violations in Complexity Tracking table:
    • Why the violation is needed
    • Why simpler alternatives were rejected
  2. Or revise plan to comply with constitution
  3. Update constitution if principle is outdated:
    /speckit.constitution Update principles to allow [specific case]
    

Getting Help

If your issue isn’t covered here, please open a GitHub issue with:
  • Detailed description of the problem
  • Steps to reproduce
  • Error messages (full text)
  • Environment info (OS, Python version, agent used)

Debug Information Collection

# Collect debug info
echo "Spec Kit Version:"
specify --version

echo "\nPython Version:"
python --version

echo "\nGit Version:"
git --version

echo "\nCurrent Branch:"
git branch --show-current

echo "\nFeature Directory:"
ls -la specs/

echo "\nInstalled Extensions:"
specify extension list

echo "\nAgent Command Files:"
ls -la .claude/commands/ .opencode/command/ .gemini/commands/ 2>/dev/null || echo "No agent command directories found"

Useful Commands

# Check Spec Kit installation
specify check

# Verify feature structure
tree .specify/ -L 2

# Test script directly
bash -x .specify/scripts/bash/check-prerequisites.sh

# View agent context
cat .claude/CLAUDE.md  # or .opencode/README.md, etc.

Support Channels

Build docs developers (and LLMs) love