Skip to content

Working in a task

Getting context to the agent, reading the code it wrote, and turning it into a commit — without leaving the task.

Updated View as Markdown

Most of the friction in agent-assisted work isn’t the model. It’s the shuttling: copying a file path into the prompt, pasting a diff into a chat, switching to an editor to see what a function does, writing the commit message afterwards.

A Warpforge task is built so none of that leaves the window.

Getting context into the chat

You rarely want to describe what you mean. Point at it instead.

To send… Do this
A file Type @ and search by name — or drag a row from the file tree straight into the composer
A changed file’s diff Send to chat on the file’s header in the diff view
A specific piece of code Select the lines in the editor and press ⌘L (Ctrl L) — the highlighted range goes over with its file and line numbers
A screenshot or image Paste or drop it into the composer, on agents whose harness accepts images

The composer also takes @ mentions ranked by relevance as you type, and slash commands where the harness provides them.

Reading code, not just diffs

The editor inside a task is a real editor, not a diff viewer bolted to a file list. With a language server running it does what your IDE does:

Go to definition ⌘B or -click — jumps across files, not just within the one you’re in
Find references Everywhere a symbol is used
Rename symbol Across the project, not a find-and-replace
Hover docs Signatures and documentation without leaving the line
Completions As you type, from the language server
Diagnostics Errors and warnings inline, live
Format On demand

Missing a language server is one click, not a research project. Open a .ts, .py, or .rs file without its server installed and the editor shows an Install banner rather than silently degrading to plain highlighting. Warpforge ships install support for TypeScript/JavaScript, Rust, Go, Python, JSON, CSS, HTML, and YAML — each with its status in Settings → Language servers.

Alongside that:

  • Several files open at once on a tab strip, with syntax highlighting across the usual languages.
  • Find in Files (⌘⇧F) — every match grouped by file with a live peek at the surrounding code; Enter opens it at that line, cursor already placed.
  • Quick open (⌘P, or double-tap ) — files by name, with matching source lines underneath them.
  • A real file tree with native right-click: New File, New Folder, Rename, Delete. Deletes ask first.

Searches stay inside the project — build output and dependencies don’t bury what you’re looking for — and everything resolves against the task’s own worktree, so what you edit is what the diff shows.

Previewing what you’re looking at

Not every file is best read as text, so the editor renders it instead. A preview toggle appears in the file’s header wherever there’s something to render:

File What you get
Markdown.md, .markdown, .mdx Rendered document, or the source. Toggle between them.
HTML.html, .htm The page, rendered and running — handy when an agent is building a prototype and you want to click it rather than read it.
SVG The image, or its markup. Read-only either way.
Images.png, .jpg, .jpeg, .gif, .webp, .ico, .bmp Shown directly, no toggle needed.

Reviewing the change

The diff view gives you the whole spectrum between “accept everything” and “do it yourself”:

  1. Read it unified or split.
  2. Accept or reject individual hunks — you don’t have to take a change wholesale to take the good half of it.
  3. Edit inline where it’s faster to fix than to explain. ⌘S saves; reverts a hunk.
  4. Or send the file back to chat with Send to chat and let the agent fix it, now that it can see exactly what you’re looking at.

Text you don’t have to write

Four kinds of prose Warpforge drafts for you. In every case you’re the editor, not the author — nothing is submitted on your behalf.

What Written from
Task title The task’s first prompt — a short imperative line, so tasks are legible on the board without you naming them
Commit message The actual diff, in Conventional Commits form — not from the prompt, so it describes what changed rather than what was asked for
PR title and body The branch’s outgoing commits and their combined diff
Enhanced task prompt A rough note you wrote — Enhance rewrites it into a structured, well-specified task

Enhance is the one worth calling out: a backlog item you typed in five seconds (“fix the flaky login test, probably the timeout”) becomes a properly scoped prompt before an agent ever sees it. Bad prompts are the most common cause of bad agent output, and this is the cheapest place to fix them.

Small things that add up

None of these is a headline feature. Together they’re most of what makes a task pleasant to sit in.

The chat stays where you put it. It follows the newest message while an agent replies, and stops following only when you actually scroll up — clicking a file link or expanding a work update doesn’t count. Scroll back to the bottom and it starts following again on its own.

Notifications you can answer without switching apps. When an agent needs approval while Warpforge is in the background, the macOS notification carries Approve, Reject, and Review buttons that do exactly that — and says what it is asking for in plain language, so you can decide from the notification. They stay quiet while Warpforge is the window you’re looking at.

Fork a conversation into another harness. Take a conversation up to any point and continue it with a different agent — it carries the context, the files touched, the worktree, and your uncommitted work. Useful when one model is stuck and you want another to pick up mid-thread rather than start over.

Model picking that survives long lists. The composer’s model picker has a pinned search box — type to narrow hundreds of models, Esc to close. Short lists stay simple lists. Add a provider or model in the agent itself and Warpforge picks it up on restart, or immediately via the refresh button next to that agent in Settings, which also shows how many models it currently knows about.

Archive or delete a task without opening it, from the overflow menu on its sidebar row.

Git, in the task

Warpforge’s git surface is closer to an IDE’s than to a commit box: an IDE-style branch tree with local and remote branches, native right-click menus, rebase-onto without checking out first, and amend that prefills the message you’re rewriting. It’s covered on its own page — see Git in Warpforge.

The shortcuts:

Action Shortcut
Commit… ⌘K
Push… ⇧⌘K
Sync with remote ⌘T
New branch… ⌥⌘N

Keyboard shortcuts

Shortcut Action
⌘N New task
⌘P / ⇧⇧ Quick open (files and text)
⌘⇧F Find in Files
⌘B / -click Go to definition
⌘L Send selection to chat
⌘S Save edits
⌘K Commit…
⇧⌘K Push…
⌘T Sync with remote
⌥⌘N New branch…
⌘+ / ⌘- / ⌘0 Text size up / down / reset
Esc Close the palette or panel you’re in

Replace with Ctrl throughout — for example Ctrl ⇧ F for Find in Files and Ctrl L to send a selection to chat.

See also

Navigation

Type to search…

↑↓ navigate↵ selectEsc close