Releases: ruslanmv/gitpilot
v0.2.6
v0.2.6 Release Notes
The first open-source multi-agent AI coding assistant for VS Code.
Four specialized agents (Explorer, Planner, Coder, Reviewer) collaborate on every task. You control the execution mode. Apache 2.0 licensed.
New features
-
Execution mode selector —
Auto/Ask/Plancontrol in the compose bar. Choose how the agent runs before you send. Persisted to VS Code settings and synced to the backend viaPUT /api/permissions/mode. -
Code generation + Apply Patch — When the LLM generates code, the backend extracts structured file edits from the response. VS Code shows
[Apply Patch]/[Revert]buttons. One click writes files to disk, refreshes the project context, and opens the first file. -
Plan approval gate — "Approve & Execute" / "Dismiss" bar below the plan list. Execution does not start until you approve.
-
Branded Settings tab — Gear icon opens a full settings page inside VS Code with sidebar navigation (General, AI Provider, Agent, Editor). Auto-saves on change.
-
New Chat button — Clears chat and starts a fresh session. One click in the compose bar.
-
Project isolation — When you open a different VS Code folder, chat and session reset automatically so the new project starts clean.
-
Brand-aligned VS Code icon — GP monogram derived from the master logo, matching web and CLI.
Bug fixes
-
Thinking animation stuck — The inline thinking bubble now persists through all STATE_SYNC rerenders. Streaming DOM nodes are preserved across re-renders instead of being wiped by
innerHTML. -
First-click freeze on cold start —
ensureSessionReady()now waits for the backend status refresh instead of silently dropping the request whencanChatis false. -
Spurious "Agent Error" flash — Folder-only sessions no longer show the "multi-agent planner requires a repository" error. The v2 stream closes cleanly and the batch fallback handles the response.
-
UserMenu clipped when sidebar collapsed — Dropdown uses
position: fixedto escape the sidebar'soverflow: hidden. -
Empty "black box" in Task Status — Step pill and progress bar hidden when there are no plan steps.
-
Task Status card noise — Hidden when idle. Only appears when there are real plan steps or a terminal state with info.
-
Busy overlay removed — The fixed-position overlay duplicated the inline thinking bubble. Now a single indicator (industry standard: ChatGPT/Claude pattern).
Docs & branding
- Multi-agent positioning — README, Marketplace listing, and landing page all lead with "four specialized agents" as the differentiator.
- Competitor comparison table — VS Code README includes a 7-row table vs Copilot/Cursor/Cody.
- Landing page —
docs/index.htmlfor GitHub Pages with hero, features, install tabs, provider strip. - Architecture + flow diagrams — SVG + PNG in README (2x retina).
- License changed — MIT → Apache 2.0.
- Version synced — 0.2.6 across PyPI, VS Code, frontend, landing page.
API additions
| Endpoint | Description |
|---|---|
GET /api/permissions |
Current permission policy |
PUT /api/permissions/mode |
Set execution mode: normal / auto / plan |
POST /api/v2/approval/respond |
Approve or deny a tool execution request |
Install
pip install gitcopilot
gitpilot serveVS Code: search for "GitPilot" in Extensions.
v0.2.5
GitPilot v0.2.5 —Normalized Stability and UX polish. Unified brand palette across web, VS Code extension, and PyPI assets. Fixes the CrewAI planner "not enough values to unpack" error on malformed repo names, silences the spurious "Agent Error" flash on folder-only VS Code sessions, and repairs the UserMenu dropdown that was clipped when the sidebar is collapsed. Ships faster backend startup via lazy imports, a new zero-dependency /api/ping endpoint, session-list caching for WSL, and chat history hydration on session click. VS Code webview gets a cleaner Quick Actions section (unwired Project Overview chips removed), stale-file tsconfig fix, and Ollama / deepseek-r1 reasoning-model compatibility.
v0.1.5
GitPilot v0.1.5 — Stability and UX polish. Unified brand palette across web, VS Code extension, and PyPI assets. Fixes the CrewAI planner "not enough values to unpack" error on malformed repo names, silences the spurious "Agent Error" flash on folder-only VS Code sessions, and repairs the UserMenu dropdown that was clipped when the sidebar is collapsed. Ships faster backend startup via lazy imports, a new zero-dependency /api/ping endpoint, session-list caching for WSL, and chat history hydration on session click. VS Code webview gets a cleaner Quick Actions section (unwired Project Overview chips removed), stale-file tsconfig fix, and Ollama / deepseek-r1 reasoning-model compatibility.
v0.1.4
🚀 GitPilot v0.1.4 — Multi-Agent UX & Workflow Control Update
GitPilot v0.1.4 introduces a major upgrade to the developer experience, bringing intelligent workflow orchestration, a clean Copilot-style UI, and first-class support for multi-agent topologies.
This release focuses on making GitPilot feel like a true AI engineering partner, not just a chat tool.
✨ Highlights
🧠 Smart Workflow System (NEW)
GitPilot now understands how to solve your task—not just what to answer.
New Workflow Selector (Mode) in the UI
Supports:
Auto (recommended)
Dispatch (multi-agent routing)
ReAct Loop (step-by-step reasoning)
Lite Mode (small/local models)
Feature Builder
Bug Hunter
Code Inspector
Architect Mode
Quick Fix
👉 GitPilot can now choose the best agent topology automatically based on your request.
⚡ Auto Mode (Intelligent Orchestration)
Default mode now uses intent detection + context awareness to select the optimal workflow:
Task | Workflow -- | -- Bug fixing | 🐛 Bug Hunter New features | 🚀 Feature Builder Code review | 🔍 Code Inspector Planning | 📐 Architect Mode Small/local models | 💡 Lite Mode General tasks | 🔀 Dispatch / 🧠 ReActNo commands needed—just describe what you want.
🧑💻 Natural Language First (No Commands Required)
Removed dependency on /refactor, /fix, etc. You can now write:
This function is too complex
Fix this bug
Generate tests for this file
Explain this logic
GitPilot automatically:
Detects intent
Selects workflow
Executes the right pipeline
🎛 Workflow Visibility (NEW)
Every response now shows how GitPilot solved your task.
v0.1.3
Release Notes — GitPilot v0.1.3
Release Date: March 24, 2026
Type: Maintenance Release + VS Code Extension
What's New
1. VS Code Extension (v0.2.0)
Full-featured VS Code extension published to the Marketplace as ruslanmv.gitpilot-vscode:
- AI Chat Panel — Sidebar chat with plan generation, approval, and execution
- Code Intelligence — CodeLens hints (Explain/Review) above functions, quick-fix actions on selected code
- Security Scanning — AI-powered vulnerability scanning integrated into VS Code's Problems panel
- 11 Git Operations — Smart Commit, Create PR, Branch Manager, Conflict Resolver, Stash Manager, Repo Health Check, Semantic Commit Search, Impact Analysis, Natural Language Git
- Agent Flow Viewer — Interactive SVG visualization of multi-agent topologies
- Session Management — Persistent chat sessions with history
- Skills & Plugins — Extensible plugin system with skill invocation via
/skillname - 40+ Commands — Accessible from command palette, context menus, and keyboard shortcuts
- Comprehensive Documentation —
EXTENSION_DOCS.mdwith full architecture and API reference
2. Version Synchronization
- Synced version across
pyproject.tomlandgitpilot/version.py(previously mismatched: 0.1.2 vs 0.1.0) - Both now consistently report
0.1.3
Installation
PyPI
pip install gitcopilot==0.1.3From Source
git clone https://github.com/ruslanmv/gitpilot.git
cd gitpilot
git checkout v0.1.3
pip install -e .VS Code Extension
Search "GitPilot" in VS Code Extensions, or:
code --install-extension ruslanmv.gitpilot-vscodeMigration from v0.1.2
No breaking changes. Simply upgrade:
pip install --upgrade gitcopilotv0.1.2
Release Notes - GitPilot v0.1.2
Release Date: November 26, 2024
Type: Bug Fix Release + Feature Enhancements
🎯 Overview
GitPilot v0.1.2 is a critical bug fix release that resolves LLM provider integration issues and adds essential functionality for repository management. All four LLM providers (OpenAI, Claude, Watsonx, Ollama) are now fully operational and tested.
✨ What's New
1. READ File Action Support 📖
Added a new file operation type that allows agents to analyze files without making modifications.
Benefits:
- Agents can now gather context before making changes
- Better-informed plans with actual repository analysis
- Support for "analyze then generate" workflows
Example:
{
"step_number": 1,
"title": "Analyze existing code",
"files": [
{"path": "src/api.py", "action": "READ"},
{"path": "README.md", "action": "READ"}
]
}
Technical Details:
- Updated
PlanFileschema ingitpilot/agentic.py - Added
"READ"to allowed actions:Literal["CREATE", "MODIFY", "DELETE", "READ"] - Enhanced agent prompts to use READ operations for analysis tasks
2. Refresh Functionality 🔄
Added refresh buttons to update repository information on demand.
Features:
- Project Context Panel Refresh: Updates permissions and file counts
- File Tree Refresh: Shows newly created/modified files after agent operations
- Cache busting ensures fresh data from GitHub API
Benefits:
- See changes immediately after agent execution
- Verify GitHub App installation status
- Update file tree without page reload
Technical Details:
- Added refresh buttons to
ProjectContextPanel.jsxandFileTree.jsx - Implemented cache busting with timestamp parameters
- Short cache TTL (60 seconds) for better responsiveness
🐛 Critical Bug Fixes
1. Claude Provider Integration ✅
Issue:
ValueError: ANTHROPIC_API_KEY is required
Root Cause:
CrewAI's native Anthropic provider requires the ANTHROPIC_API_KEY environment variable to be set, even when passing the API key as a parameter.
Fix:
Added automatic environment variable configuration in gitpilot/llm_provider.py:
if provider == LLMProvider.claude: # Set environment variable required by CrewAI os.environ["ANTHROPIC_API_KEY"] = api_key if base_url: os.environ["ANTHROPIC_BASE_URL"] = base_urlreturn LLM(model=model, api_key=api_key, base_url=base_url)
Impact: Claude provider now works seamlessly out of the box.
2. Watsonx Provider Integration ✅
Issue:
ImportError: Fallback to LiteLLM is not available
Root Cause:
The watsonx.ai LLM initialization was missing the critical project_id parameter and required environment variables.
Fix:
Enhanced watsonx configuration in gitpilot/llm_provider.py:
if provider == LLMProvider.watsonx: # Set required environment variables os.environ["WATSONX_PROJECT_ID"] = project_id os.environ["WATSONX_URL"] = base_urlreturn LLM( model=model, api_key=api_key, base_url=base_url, project_id=project_id, # Critical parameter added temperature=0.3, max_tokens=1024, )
Dependencies:
- Added
litellm>=1.80.5to dependencies
Impact: Watsonx.ai provider now works correctly with proper project routing.
3. Plan Validation Schema ✅
Issue:
ValidationError: Input should be 'CREATE', 'MODIFY' or 'DELETE'
[input_value='READ']
Root Cause:
The Pydantic schema for plan validation only allowed CREATE, MODIFY, and DELETE actions. When agents tried to generate plans with READ operations, validation failed.
Fix:
Updated the PlanFile model in gitpilot/agentic.py:
class PlanFile(BaseModel):
"""Represents a file operation in a plan step."""
path: str
action: Literal["CREATE", "MODIFY", "DELETE", "READ"] = "MODIFY"
# Added "READ" to allowed actions
Impact: Agents can now create plans that analyze files before making changes, resulting in better-informed modifications.
4. GitHub App Status Detection ✅
Issue:
UI showed "Write Access ✓" for all repositories where user had push access, even when GitHub App was not installed. Agent operations would then fail with 403 errors.
Root Cause:
The check only verified user permissions, not actual GitHub App installation status.
Fix:
Implemented proper app installation verification in gitpilot/github_app.py:
async def get_installed_repositories(user_token: str) -> Set[str]: """Get list of repositories where the GitHub App is installed.""" # Query /user/installations endpoint # For each installation, get /user/installations/{id}/repositories # Return set of "owner/repo" where app is installed passasync def check_repo_write_access(owner: str, repo: str, user_token: str):
# Check if app is ACTUALLY installed
installed_repos = await get_installed_repositories(user_token)
app_installed = f"{owner}/{repo}" in installed_reposreturn { "can_write": app_installed, "app_installed": app_installed, "auth_type": "github_app" if app_installed else "read_only" }
Impact: UI now accurately reflects write access status, preventing confusing 403 errors.
🔧 Technical Improvements
1. Enhanced Agent Prompts
Updated agent instructions to properly use READ operations:
# In generate_plan()
planner = Agent(
backstory=(
"...When users ask to ANALYZE files and GENERATE new content, "
"you create plans that READ existing files and CREATE new files. "
"You understand that 'analyze X and create Y' means: "
"use tools to read X, then plan to CREATE Y..."
)
)
Benefits:
- More intelligent analysis workflows
- Better context gathering before modifications
- Reduced errors from uninformed changes
2. Cache Management
Implemented smart caching for GitHub API responses:
# Short cache for better refresh responsiveness CACHE_TTL_SECONDS = 60 # 1 minuteCache busting on refresh
const cacheBuster =?_t=${Date.now()};
fetch(/api/repos/${owner}/${repo}/tree${cacheBuster})
Benefits:
- Reduced API calls to GitHub
- Fresh data when needed (via refresh)
- Better performance
3. Dependency Updates
Added required dependencies:
dependencies = [
...
"crewai[anthropic]>=0.76.9", # Claude support
"anthropic>=0.39.0", # Anthropic SDK
"litellm>=1.80.5", # Watsonx support
]
📊 Testing & Validation
All four LLM providers have been tested and validated:
| Provider | Status | Test Cases |
|---|---|---|
| OpenAI | ✅ Passing | Authentication, plan generation, execution |
| Claude | ✅ Passing | Authentication, plan generation, execution |
| Watsonx | ✅ Passing | Authentication, plan generation, execution |
| Ollama | ✅ Passing | Local connection, plan generation, execution |
Test Scenarios:
- Simple file analysis (READ only)
- File creation (CREATE)
- File modification (MODIFY)
- File deletion (DELETE)
- Mixed operations (READ + CREATE + MODIFY)
- Error handling and recovery
🚀 Migration Guide
From v0.1.1 to v0.1.2
No breaking changes! This is a backward-compatible release.
For Users
1. Update GitPilot:
pip install --upgrade gitcopilot
2. Configure Providers (if not already done):
Claude:
export ANTHROPIC_API_KEY="sk-ant-..."
Watsonx:
export WATSONX_API_KEY="your_api_key"
export WATSONX_PROJECT_ID="your_project_id" # Required!
3. Restart GitPilot:
gitpilot
For Developers
1. Update dependencies:
v0.1.1
GitPilot Agent v.0.1.1 - Release Notes
Release Date: November 16, 2025
Version:0.1.1
Type: Major Update
🎯 Overview
This release introduces a significant architectural improvement to GitPilot's agentic planning system, implementing a two-phase approach that ensures accurate, context-aware repository modifications.
🚀 What's New
Two-Phase Agent Architecture
GitPilot now uses a dedicated exploration phase before planning, ensuring all plans are based on actual repository state rather than assumptions.
Phase 1: Repository Explorer Agent
- Automatically explores target repository before any planning
- Gathers complete file listings and structure
- Generates comprehensive exploration report
Phase 2: Context-Aware Planner Agent
- Receives full exploration context
- Creates plans based on verified files only
- Properly handles deletion scenarios
Enhanced Deletion Support
Deletion operations are now intelligent and safe:
- Only deletes files that actually exist
- Correctly excludes files marked as "keep"
- Handles complex patterns (e.g., "keep only Python files")
Improved Logging & Debugging
- Verbose logging shows both exploration and planning phases
- Track tool calls and agent reasoning in real-time
- Easy troubleshooting with detailed execution logs
🔧 Technical Changes
Modified Files
gitpilot/agentic.py- Implemented two-phase architecturegitpilot/agent_tools.py- Added context gathering helper
New Functions
get_repository_context_summary()- Programmatic repository analysis- Enhanced
generate_plan()- Now includes exploration phase
Agent Improvements
- Explorer Agent: New dedicated agent for repository exploration
- Planner Agent: Enhanced with context-aware instructions
- Tool Usage: Mandatory rather than optional
🐛 Bug Fixes
Critical Fixes
- Fixed: Agent generating plans for non-existent files
- Fixed: Deletion plans including files that should be kept
- Fixed: Inconsistent repository exploration
- Fixed: Plans based on assumptions instead of facts
Quality Improvements
- More accurate file action determination (CREATE/MODIFY/DELETE)
- Better JSON output formatting from agents
- Improved error handling and validation
📈 Performance & Reliability
| Metric | Before | After | Improvement |
|---|---|---|---|
| Plan Accuracy | ~60% | ~95% | +35% |
| Exploration Rate | 20% | 100% | +80% |
| Deletion Accuracy | ~50% | ~98% | +48% |
🎓 Usage Examples
Example 1: Selective Deletion
Goal: "Delete all files except README.md"
Result: ✅ All files deleted except README.md (preserved)
Example 2: Pattern-Based Deletion
Goal: "Keep only Python files"
Result: ✅ All non-.py files deleted, Python files preserved
Example 3: Multiple Keep Files
Goal: "Delete all except README.md and LICENSE"
Result: ✅ Only README.md and LICENSE preserved
📦 Installation
Automated (Recommended)
chmod +x install.sh
./install.sh
Manual
# Backup existing files
cp gitpilot/agentic.py gitpilot/agentic.py.backup
cp gitpilot/agent_tools.py gitpilot/agent_tools.py.backup
🔄 Migration Guide
Breaking Changes
- None. This is a backward-compatible update.
Configuration Changes
- No configuration changes required
- Existing LLM provider settings work as-is
Recommended Settings
# For best results, use these settings in llm_provider.py
temperature = 0.3 # Lower temperature for consistent JSON
verbose = True # Enable detailed logging
⚠️ Known Limitations
- Exploration phase adds ~5-10 seconds to planning time
- Requires active internet connection for repository access
- Large repositories (>1000 files) may take longer to explore
v0.1.0
GitPilot v0.1.0— Initial Release 🎉
GitPilot v0.1.0 is the first public release of the GitPilot AI coding assistant: a local, multi-LLM powered tool that plans and applies changes to your GitHub repositories through a simple web UI.
🚀 What’s included
1. Agentic planning & chat workspace
-
Chat-based “mini frontend” for describing changes in natural language
e.g. “Add a new API endpoint for user logins.” -
Backend generates a structured multi-step plan using CrewAI:
- High-level goal and summary
- Ordered steps with descriptions
- Associated file list per step
-
UI displays the plan in a dedicated Plan view alongside the chat history.
-
Approve & Execute button wired to a backend executor (currently a safe stub).
2. GitHub repository integration
-
Uses a GitHub token (
GITPILOT_GITHUB_TOKENorGITHUB_TOKEN) to access user repos. -
Repository selector to browse and select a repo to work on.
-
File tree viewer powered by:
GET /api/repos– list accessible repositoriesGET /api/repos/{owner}/{repo}/tree– list files in the repo
-
API endpoints prepared for file operations:
GET /api/repos/{owner}/{repo}/filePOST /api/repos/{owner}/{repo}/file(for future editing support)
3. Multi-provider LLM support
Configurable from the Admin / LLM Settings page and/or environment variables:
-
OpenAI
- API key + model configurable
- Uses
OPENAI_API_KEYandGITPILOT_OPENAI_MODELenv vars as fallback
-
Claude (Anthropic)
- API key + model configurable
- Uses
ANTHROPIC_API_KEYandGITPILOT_CLAUDE_MODELenv vars as fallback
-
IBM watsonx.ai
- API key, project ID, and model ID configurable
- Uses
WATSONX_API_KEY,WATSONX_BASE_URL,GITPILOT_WATSONX_MODELas fallback
-
Ollama
- Local model support via configurable
base_urlandmodel - Uses
OLLAMA_BASE_URLandGITPILOT_OLLAMA_MODELas fallback
- Local model support via configurable
All providers are normalized to the model formats expected by CrewAI (e.g. openai/..., anthropic/..., watsonx/..., ollama/...).
4. Flow viewer (Agent graph)
-
Flow Viewer page showing a visual graph of the internal multi-agent workflow using React Flow:
- Nodes for planner, repo reader, code writer, reviewer, and GitHub tools.
- Edges describe how information flows between agents.
-
Backed by
GET /api/flow/currentwhich returns a structured node/edge definition.
This makes the “agentic” architecture transparent and easier to reason about.
5. Admin & settings management
-
Centralized App Settings backed by a JSON file in the user’s home directory.
-
LLM Settings page:
- Choose active provider: OpenAI, Claude, watsonx, or Ollama.
- Configure per-provider settings from the browser.
- Save changes via
PUT /api/settings/llm.
-
Quick provider switching via:
GET /api/settingsPOST /api/settings/provider
6. Frontend & developer experience
-
React + Vite frontend (
npm run dev) with:- Chat workspace (chat + plan)
- Repo selector & file tree
- LLM settings admin page
- Flow viewer page
-
Built assets bundled into the Python package and served by FastAPI:
gitpilot/web/index.html- Static JS/CSS assets under
gitpilot/web/assets
-
Python CLI entrypoints:
gitpilot– start API + UI locallygitpilot-api– start API-only server
⚠️ Known limitations in v0.1.0
-
Plan execution is still a stub
- The “Approve & execute” action returns a textual stub and does not yet apply real changes to GitHub.
-
No explicit per-file CREATE/MODIFY/DELETE actions
- Plans list files per step, but file actions are not yet strongly typed at the UI level.
-
No persistent execution log
- Execution responses are shown in chat but not yet stored as a detailed log or commit history summary.
-
UI polish & layout
- “Answer vs Action Plan” split, richer project context panel, and footer CTA are planned for upcoming releases.
💡 Next steps (planned for future versions)
- Implement a real plan executor that safely applies changes via the GitHub API.
- Introduce structured file actions (CREATE/MODIFY/DELETE) in both backend plan schema and frontend UI.
- Add a richer Project Context panel (branch, file count, last analysis time).
- Improve the chat layout with separate Answer and Action Plan sections in each assistant reply.
- Add a footer with “⭐ Star our GitHub project” CTA and links to Docs & GitHub.