Give Claude Managed Agents institutional memory.
Point it at a repo and a task. It clones, researches context via Unblocked, implements the changes, and opens a PR — all autonomously, informed by your organization's PRs, Slack discussions, Jira issues, and design decisions.
bun run start --repo owner/repo --task "Add rate limiting to the API"
The agent:
- Clones the repo (
--depth 1) into a cloud container - Researches via Unblocked — checks PRs, Slack, Jira, docs for context on the task
- Implements the changes, following patterns and conventions it discovered
- Opens a PR with a description that cites the institutional context behind its decisions
User Task ──▶ Claude Managed Agent Session
│
├── Built-in tools (bash, read, write, edit, grep, web)
│
└── Unblocked MCP Server (native connector)
research_task, context_engine, data_retrieval, link_resolver
No bridge code. The Unblocked MCP server connects directly to the managed agent via Anthropic's MCP connector.
| Without Unblocked | With Unblocked |
|---|---|
| Agent reads the code and guesses | Agent understands intent and drives shared goals |
| Agent reinvents patterns that already exist | Agent discovers and follows established team conventions |
| Agent might duplicate a rejected approach | Agent checks past attempts and learns from them |
| Agent works in isolation | Agent knows what's in-progress and who owns what |
- Bun
- Anthropic API key
- Unblocked API token
- GitHub personal access token (for push + PR creation)
bun install
cp .env.example .env.local
# Fill in: ANTHROPIC_API_KEY, UNBLOCKED_API_TOKEN, GITHUB_TOKEN
bun run setupsetup creates three resources via the Anthropic API:
- Agent — Claude Sonnet 4.6 with Unblocked MCP server attached
- Environment — Cloud container with unrestricted networking
- Vault — Stores your Unblocked token, injected into MCP connections at runtime
bun run start --repo owner/repo --task "Fix the auth bug described in JIRA-1234"The agent streams its work to your terminal: Unblocked queries highlighted, bash commands shown inline, final output in full.
bun run start --repo acme/backend --task "Users see 403 after password reset — fix it"The agent clones the repo, queries Unblocked for the auth middleware's design history, discovers a Slack thread where the team decided session tokens should NOT be invalidated on password reset, traces the real root cause to a cache TTL mismatch, fixes it, and opens a PR citing the Slack discussion.
bun run start --repo acme/api --task "Add rate limiting to public endpoints"Before writing code, the agent finds a PR from 8 months ago where rate limiting was attempted and abandoned. It reads the review comments, discovers the team agreed on Redis-backed token buckets in a Slack discussion, and implements it following the established middleware pattern — avoiding the pitfalls that killed the previous attempt.
bun run start --repo acme/frontend --task "Implement JIRA-4521: dark mode toggle in settings"The agent pulls the Jira ticket details, finds related design discussions, checks for existing theming patterns in the codebase, and implements dark mode following the conventions it discovered. The PR links back to the Jira ticket and cites the design decisions.
bun run start --repo acme/services --task "The order queue is backing up since yesterday's deploy — investigate and fix"The agent checks Unblocked for recent deploys, finds the PR merged yesterday, discovers a reviewer flagged a potential deadlock risk that was dismissed, confirms it's the root cause, and opens a fix PR citing the original warning.
Add --compare to run the same task twice in parallel — once with Unblocked context and once without — then get an AI-generated analysis of the difference:
bun run start --repo acme/backend --task "Add rate limiting" --compareResults are saved to transcripts/.
src/
setup.ts One-time: create agent, environment, vault
run.ts Clone repo, execute task, push PR (--compare for A/B mode)
MIT