Amp 2026.06.19
Amp 2026.06.19 was released on .
Summary
Custom Agents You can now create custom agents in Amp with plugins. You can use these custom agents as your main Amp agent, or as subagents. You can use them as a small part of a tool pipeline that...
Release Context
- This was the 34th Amp release of 2026 tracked by Havoptic.
- It shipped 1 day after Amp 2026.06.18 (June 18, 2026).
Shipped around the same time
Within 3 days of this release, other AI coding tools also shipped:
- Cursor v3.9 (June 22, 2026)
- Grok Build v0.2.61 (June 22, 2026)
- OpenCode v1.17.9 (June 21, 2026)
- Grok Build v0.2.60 (June 21, 2026)
- Claude Code v2.1.185 (June 20, 2026)
Compare Amp
- Amp vs Claude Code
- Amp vs OpenAI Codex CLI
- Amp vs Cursor
- Amp vs Gemini CLI
- Amp vs Kiro CLI
- Amp vs GitHub Copilot CLI
- Amp vs Devin Desktop
- Amp vs Antigravity CLI
- Amp vs Grok Build
- Amp vs Cline
- Amp vs OpenCode
- Amp vs Zed
- Amp vs Factory Droid
- Amp vs Devin
- Amp vs Lovable
- Amp vs GitHub Copilot in VS Code
- Amp vs Replit Agent
- Amp vs Bolt
- Amp vs v0
Release Notes
Custom Agents You can now create custom agents in Amp with plugins. You can use these custom agents as your main Amp agent, or as subagents. You can use them as a small part of a tool pipeline that you invoke with amp -x. Or you can spawn 25 custom worker agents, then switch between them. Each custom agent comes with a custom orb color. Here is how you define a custom agent in an Amp plugin: // .amp/plugins/focused-reviewer-agent.ts import type { PluginAPI } from '@ampcode/plugin' export default function (amp: PluginAPI) { // Create the agent const reviewer = amp.createAgent({ name: 'focused-reviewer', model: 'openai/gpt-5.5', instructions: [ 'You are a focused code-review subagent.', 'Inspect only the files and concerns named by the caller.', 'Return concise findings with severity, evidence, and suggested fixes.', ].join(' '), tools: 'all', display: { label: 'reviewer', color: 'd97706' }, }) // Register a tool. This agent acts as a subagent amp.registerTool({ name: 'focusedreview', description: 'Run a focused code-review subagent.', inputSchema: { type: 'object', properties: { request: { type: 'string' }, }, required: ['request'], }, async execute(input, ctx) { // Run a one-shot agent turn const result = await reviewer.run(input, { parentThreadID: ctx.thread.id, }) return result.text }, }) // Or register the agent as a selectable main thread mode amp.registerAgentMode({ key: 'focused-reviewer', description: 'Code Review Expert', agent: reviewer.definition, }) } Threads Once you have defined an agent, you can create threads: // Spawn a new thread const thread = await reviewer.createThread({ // Tell the UI switch to this thread show: true, }) // Get an existing thread const thread = amp.threads.get(input.threadID) The Thread object lets you interact with a thread in many different ways, and is where the real power comes in. Send a message to a Thread Add a new user message to a thread by calling thread.appendUserMessage(). The call returns as soon as Amp has accepted the message; it does not wait for inference to complete before returning. await thread.appendUserMessage({ type: 'user-message', content: 'Review the auth changes in this branch.', }) Wait for the Agent's response When you do want to wait, call waitForResponse() on the thread. It resolves with the next assistant message after the agent finishes its turn. const reply = await thread.waitForResponse() Example: Spawn an async thread that responds to the main thread These are just a few primitives provided by the Plugin API. Together, they compose into unique workflows. An example used on the Amp team: spawn an agent in an asynchronous thread, and give it the tools it needs to respond to the parent when it needs to. amp.registerTool({ name: 'startasyncreview', description: 'Start a review in a background thread.', inputSchema: { type: 'object', properties: {} }, async execute(input, ctx) { const thread = await reviewer.createThread({ parentThreadID: ctx.thread.id, }) await thread.appendUserMessage({ type: 'user-message', content: [ 'Review the auth changes in this branch.', When you are done, call sendtothread with threadID ${ctx.thread.id}, 'and include your review in the message.', ].join(' '), }) return Started background review in ${thread.id}. }, }) Full documentation is in the manual. Happy Hacking.
Other Recent Amp Releases
- 2026.10.19 (October 19, 2026)
- 2026.10.16 (October 16, 2026)
- 2026.10.13 (October 13, 2026)
- 2026.10.12 (October 12, 2026)
- 2026.10.12.2 (October 12, 2026)
Upgrading from 2026.06.19? See all 53 releases since.