Describe what you want. GitChat's agent picks the right tools, runs multi-step workflows, and asks before anything writes. PRs, CI, traffic, Vercel deploys — one conversation.
107 tools covering every part of GitHub, from reading blame annotations to shipping production releases.
View diffs, add inline review comments, approve or request changes, and merge. The agent fetches the right context and surfaces what matters — you decide what ships.
Browse commit history, cherry-pick changes, create and compare branches, detect stale ones, and revert when things go wrong. No CLI commands to remember.
Run GitHub Actions, re-trigger failed jobs, view logs, and check workflow status. When something breaks, ask why and get the relevant log output instantly.
Dependabot alerts, secret scanning, and code scanning results in one place. Triage, dismiss, or fix security issues without context-switching between tabs.
Push to Vercel, manage environment variables, configure domains, promote previews to production, and inspect build logs. All without leaving the conversation.
Skip the 2,000-line log scroll. GitChat reads the failed step, extracts the actual error, and tells you exactly what's wrong.
CI / build & test #284
feat/auth-refactor · a3f2c91 · refactor: extract auth helpers
##[error]Process completed with exit code 1.
TypeError: Cannot read property 'token' of undefined
at getSession (src/lib/auth.ts:47:18)
2026-04-12T10:23:14.5Z PASS src/lib/auth.test.ts > unauthenticated session 2026-04-12T10:23:15.1Z FAIL src/lib/auth.test.ts > getSession returns null 2026-04-12T10:23:15.1Z TypeError: Cannot read property 'token' of undefined 2026-04-12T10:23:15.1Z at getSession (src/lib/auth.ts:47:18) 2026-04-12T10:23:15.1Z at Object.<anonymous> (src/lib/auth.test.ts:47:25) 2026-04-12T10:23:15.2Z ##[error]Process completed with exit code 1.
The failure is in src/lib/auth.ts:47. getSession() returns undefined when no session exists, so destructuring .token throws.
Ask for a security review and the AI reads the full diff, surfaces concerns inline with file paths, and suggests fixes — all in one message.
feat/oauth → main · open · nabin · 4 months ago · feature · auth
Found 2 security concerns in PR #142:
src/lib/db/queries.ts:47String interpolation in raw query. Use parameterized statements.
src/app/api/auth/login/route.tsNo rate limiter on the auth endpoint. Brute-force risk.
Generate the changelog, cut the annotated tag, publish the GitHub release. The AI plans every step. You approve once.
Publish release v2.4.0
Tag v2.4.0 on main with auto-generated notes.
Agents are powerful — so the harness keeps them honest. Every write pauses for explicit approval. You stay in control.
Browsing data, viewing diffs, listing PRs, reading files — all happen instantly. Anything that changes state pauses for your explicit confirmation.
Deleting a branch, force-resetting, deleting a repo, or merging a PR shows a clear warning summary before the AI can execute.
When the agent plans a workflow with multiple writes, you see the full plan first. Approve once, watch each step execute one by one.
GitHub OAuth tokens stay server-side. The browser never sees them. Same for AI keys — they go directly from our backend to the provider.
From sign-in to your first agent turn in under a minute. The model reasons and calls tools; every write still pauses for your approval.
Sign in with GitHub OAuth. GitChat requests only the scopes you approve: repos, gists, notifications. Your tokens never leave the server.
Start chatting immediately — no repo required. @mention files, commits, or branches. The agent routes the right tools for your intent (reads, CI, Vercel) and loops until it has an answer.
@file:@commit:@branch:@tag:@repo:Reads run instantly. Writes — merge a PR, create a branch, ship a deploy — pause for your explicit approval. You stay in the loop.
Delete branch feat/old-experiment
This branch has not been merged. The action cannot be undone.
Connect your deployment platform and manage everything without leaving the conversation.
The things developers always ask before signing up.
Only when you explicitly reference it. The AI sees what you @mention (file content, commit diffs, branch context) and tool outputs from API calls. Your full repo is never bulk-uploaded.
On Neon Postgres, scoped to your account. You can delete any chat at any time. Shared chats are public via a unique token only you can generate or revoke.
Yes, encrypted on the server, only used to make API calls on your behalf. Tokens never reach the browser. You can revoke access anytime from your GitHub settings.
No. GitChat doesn't sell AI credits. You bring your own API key from Anthropic, OpenAI, Google, xAI, Mistral, OpenRouter, NVIDIA, or run local models with LM Studio. Your key, your costs, your usage.
GitChat itself is free. You only pay your AI provider directly for token usage. No per-seat fees, no usage tracking, no markup.
No. Every write operation (delete branch, merge PR, reset, delete file, etc.) pauses for your approval before executing. Destructive operations show explicit warnings.
GitChat uses a ToolLoopAgent with the full registered toolset for your session (GitHub + Vercel when connected). The model reasons and calls tools in a loop. Writes still need your approval.
OAuth scopes: repo, delete_repo, gist, read:user, user:email, notifications. You see and approve these on GitHub's consent screen during sign-in.
Yes. The repo OAuth scope covers both public and private repositories you have access to.
Not yet, but it's on the roadmap. The codebase is designed to be deployable to your own infrastructure.
Currently single-user. Team workspaces, shared chats, and role-based access are planned for future releases.
Sign in with GitHub and try it now. No setup, no credit card.