Skip to content

Creating Tasks

Tasks are how you give work to Claude Code agents. Each task becomes a prompt - the title and description are passed directly to the agent when it spawns.

Click the + button on any column header, or use the New Task button in the toolbar. Enter a title and an optional description. You can also set a priority level, add labels, and attach files.

The title and description together become the agent’s prompt, so write them the way you’d prompt Claude Code directly. Be specific about what you want - reference files, error messages, or test cases.

Descriptions support Markdown rendering with full GitHub Flavored Markdown - tables, task lists, strikethrough, and links all render in the task detail dialog.

In the description field, type @ to trigger file autocomplete. A dropdown lists files and directories from the project root. Navigate with arrow keys and press Enter to insert the selected path. This works in both the task creation form and the task detail dialog’s edit mode.

You can attach files of any type to a task:

  • Paste - Press Ctrl+V (Windows/Linux) or Cmd+V (macOS) to paste from your clipboard
  • Drag and drop - Drop files onto the task creation form or the task detail dialog

Images, documents, logs, and any other file type are supported. Attachments are included in the agent’s prompt when it spawns. Right-click an image attachment to copy it to the clipboard, or click any thumbnail to open a full-size preview.

Pasted screenshots larger than 500 KB are auto-compressed before they’re attached. Kangentic resizes the long edge to 1568 px and re-encodes as WebP, walking a quality ladder until the encoded blob fits under ~1.5 MB - well below Claude’s 5 MB per-image cap, so large screenshots no longer fail with HTTP 400. PNGs that already fit the target are left alone (so icons keep their alpha), and GIF/SVG, drag-dropped files, and PDFs are never recompressed. If the pipeline fails for any reason, the original bytes are attached and a single warning toast fires - pastes never silently disappear.

Each task can have labels and a priority level:

  • Labels - free-form text tags for categorizing tasks (e.g., “bug”, “frontend”, “refactor”). Labels can have custom colors and are shared between the backlog and the board.
  • Priority - a severity level from the project’s priority scale. The default scale is None, Low, Medium, High, Urgent. Priority shows as a colored badge on the task card and in the detail dialog header.

Set labels and priorities when creating a task, or edit them later in the task detail dialog. Labels and priorities carry over when promoting tasks from the backlog to the board.

Every task has a short display ID (e.g., #42) shown on the task card and in the detail dialog header. Click the ID to copy it to the clipboard. Display IDs are also available via the MCP tools.

Each task has a Main / Worktree toggle that controls whether the agent runs in an isolated git worktree or directly in your main working directory.

This is a per-task override of the global worktree setting. Use it when you want a specific task to run in main (e.g., a quick config change) while keeping worktrees enabled for everything else.

See Git Worktrees for details on how worktrees work.

By default, worktrees branch from the global defaultBaseBranch (usually main). You can override this per-task when creating a task - useful when you want the agent to work on top of a feature branch.

The base branch priority order is:

  1. Task’s base branch (per-task override)
  2. Action config’s base branch (per-transition override)
  3. Global defaultBaseBranch setting (default: main)

Right-click any task card on the board to open a context menu:

  • Copy Task ID - copies the display ID (e.g., Task #42) to clipboard in a format optimized for MCP context
  • Edit - opens the task detail dialog in edit mode
  • Changes - open the Changes panel for this task, showing the git diff against the base branch
  • Move to - submenu listing all other columns as move targets
  • Backlog - send the task back to the backlog (cleans up session and worktree)
  • Archive - move the task to Done
  • Delete - permanently delete the task, session, and worktree

Drag task cards within a column to reorder them. The order persists across app restarts.

Click any task card to open its detail window - a modeless window you can drag, resize, snap, and tile over the board. Several can be open at once, so you can watch multiple agents side by side. From here you can:

  • View the task’s display ID (e.g., #42) in the header - click to copy
  • See the priority badge next to the display ID
  • View Markdown-rendered descriptions with GFM support
  • Edit the title, description, priority, and labels
  • View and manage attachments of any file type (drag-and-drop or paste)
  • See terminal output - the dialog takes ownership of the terminal session while open
  • View session stats - usage, model info, and session status
  • Pause or resume the agent session using the header button - its ring doubles as a live activity indicator: a spinning emerald ring while the agent is thinking, a steady amber ring when it is idle or waiting on a permission prompt
  • Run shortcuts from the header bar
  • Open the Commands popover to browse and run Claude Code commands and skills
  • Access the kebab menu for move, archive, open folder, view PR, and delete
  • Maximize the window with the header toggle, a double-click on its title bar, or Ctrl+Shift+M (Cmd+Shift+M on macOS), or snap it to a half or corner with Ctrl+Shift+Left/Right/Up/Down (Win11-style stateful snap). Maximized, it fills the area between the title bar and status bar so window controls and live stats stay reachable. Each window’s size, position, and snap state are remembered across restarts

While a window owns a session, the bottom terminal panel releases it; closing the window returns the session to the bottom panel and keeps the agent running. Close a window with Escape, Ctrl+Shift+W, a middle-click on its title bar, or by clicking empty space outside it. The click-outside behavior is governed by the Close on Outside Click setting (Settings > Behavior; default: close only the window you clicked past).

Window keyboard shortcuts: Ctrl+Shift+M maximize/restore, Ctrl+Shift+W close, Ctrl+Shift+Left/Right/Up/Down snap, Ctrl+Shift+B toggle the Browser pane, Ctrl+Shift+G toggle the Changes panel (Cmd on macOS). All are rebindable in Settings > Hotkeys - see Shortcuts.

When the Browser or Changes pane is open next to the terminal, drag the vertical divider between them to adjust the split. The ratio is remembered per task and shared between the Browser and Changes views, so switching panes never moves the divider.

The Changes panel is a built-in git diff viewer for the task. A resizable file tree lists every changed file with status icons and +/- counts; clicking one shows its diff in split or inline layout. A branch header reports the current branch and ahead/behind counts, a scope control switches between working, staged, and full-branch diffs, and per-file viewed marks plus keyboard navigation help you work through a large changeset. The panel refreshes live as the agent edits files.

Open it from the task context menu, from the kebab menu in the task detail window, or with Ctrl+Shift+G. It stays open next to the terminal without flicker, and remembers your selected file and scroll position per task.

See Reviewing Changes for the full reference.

Tasks in the Done column are archived automatically. You can browse and search completed tasks from the Done column.

Sort completed tasks by different criteria to find what you need:

Sort OptionDescription
DateWhen the task was completed (default)
CostTotal API cost of the session
TokensTotal tokens consumed
DurationHow long the session ran

The completed tasks dialog supports bulk actions:

  • Unarchive - select multiple tasks and move them back to the board at once
  • Delete - permanently remove multiple completed tasks and their associated worktrees

To resume work on a completed task, drag it back to any active column. The suspended session is resumed with its full context intact.

Tasks created without a title - for instance, transient sessions opened from the Command Terminal, or backlog items dropped into a column without one - get a one-shot title summarized from the prompt by the active agent. Kangentic spawns the CLI in non-interactive --print mode for the summarize call (Claude, Codex, Gemini, Qwen, Kimi, Copilot, OpenCode, and Cursor all support this; Aider and Warp opt out). The suggested title appears in a banner; accept, edit, or dismiss.

Per-Task Agent, Model, and Effort Overrides

Section titled “Per-Task Agent, Model, and Effort Overrides”

Each task can override the agent, model, and reasoning effort independently of the column defaults. There are two places to set them:

Advanced section (New Task and Edit dialogs). Expand the Advanced disclosure to pick an agent, model, and effort before the task is saved. Available models and effort levels are capability-gated by the selected agent - only what its CLI actually supports is shown.

Context bar (running session). Click the model pill or effort pill in the context bar above the terminal to open the same picker live. When no session has spawned yet, a pre-spawn version of the bar lets you set overrides without going through the spawn-then-cancel-and-restart loop.

Behavior:

  • Agent override locks the agent for the task’s lifetime. Once set, moving the task between columns will not change which CLI runs it - task.agent_override wins over swimlane defaults and the project default.
  • Model and effort overrides persist on the task and live-apply via the agent’s /model and /effort slashes when a session is running.
  • On a cross-agent handoff (e.g. moving to a column whose effective agent differs), model and effort overrides are cleared automatically because they’re model-name-specific. If an explicit agent override is set, the picks are kept (they were made for the locked agent).
  • Per-task overrides win over per-column overrides. Clear them in the picker to fall back to the column or project default.

Discovered models are cached in discoveredModelsByAgent so the picker stays populated across restarts and grows live from session usage events.

Open Edit Columns from the board toolbar. The unified manager lists every column on the left and shows the editable fields for the selected column on the right. Add, rename, reorder, and configure columns from one place - there is no separate “Add Column” dialog.

For each column you can configure:

SettingDescription
NameColumn display name
ColorHeader accent color
IconLucide icon name (e.g., square-terminal, code, flask-conical)
Agent OverrideUse a specific agent (Claude Code, Codex CLI, Gemini CLI, Qwen Code, Kimi Code, OpenCode, Factory Droid, Cursor CLI, GitHub Copilot CLI, Aider, or Warp/Oz CLI) for sessions in this column instead of the project default. Hidden for To Do / Done columns
Permission ModeOverride the global permission mode for agents in this column. The dropdown re-populates based on what the selected agent supports
Model OverrideAdapter-specific model identifier (e.g. opus, gpt-5-codex). Live-applied via /model when a running session moves into the column. Hidden when the adapter has no --model flag
Effort OverrideAdapter-specific reasoning level (e.g. low, medium, high, xhigh, max). Live-applied via /effort on column transition. Hidden when the adapter doesn’t expose effort levels
Auto SpawnWhether moving a task here spawns an agent (default: on)
Auto CommandCommand injected into running sessions when tasks arrive
Handoff ContextPass the prior agent’s native session history file as context to the new agent on column entry
Plan Exit TargetFor plan-mode columns: where tasks auto-move when planning completes

Toggle settings (Auto Spawn, Handoff Context) use a click-anywhere card affordance - the entire row is the click target, not just the switch.

Drag column headers on the board, or drag rows in the Edit Columns list, to reorder.

Columns can only be deleted when they contain no tasks. Move or delete all tasks first.

Next: Backlog - stage tasks before promoting them to the board.

See also: