Track your tasks visually with a drag-and-drop Kanban board integrated with Claude Code and Codex.
The Kanban board is the heart of Coddo’s task management. It gives you a visual overview of all your tasks and their progress, updated in real time as your agent (Claude Code or Codex) works.
Click + New Task from the Kanban view or from the + button in the sidebar to open the task creation dialog. Each task gets a sequential number (TASK-00001, TASK-00002, etc.). Each task has:
Title - A short name for the task
Instruction - Detailed description of what the agent should do, with a rich text editor supporting bold, italic, code, and lists. You can also dictate the instruction with the mic button — see Voice Dictation
Tags - Color-coded labels for categorization
Execution mode - worktree (isolated branch), direct (current branch), or last used. The default is configurable in Settings
Provider & model - Choose Claude (Sonnet 4.6, Opus 4.7, Haiku 4.5) or Codex (GPT-5.5, GPT-5.4, GPT-5.4 Mini, 5.3 Codex, 5.3 Codex Spark)
Images - Attach reference images or mockups (drag-and-drop or paste)
Destination column - Choose where the task is created (Backlog or Todo). The default is configurable in Settings
Auto-commit - Per-task toggle for direct mode tasks
Use the Reset button to clear all fields and start over.
If you close the task creation dialog before submitting, all fields (title, instruction, tags, mode, model, images) are preserved and restored when you reopen it.
For worktree mode, you select a base branch (e.g. main). Coddo automatically generates a branch name like coddo/1-fix-login.For direct mode, you can optionally enable auto-commit and select a target branch.
Write clear, detailed instructions for best results. The instruction is what the agent uses to understand what you want.
When a task is moved to Todo, Coddo’s queue runner automatically picks it up and starts execution. Worktree tasks can run up to 5 in parallel — each in its own isolated worktree, so they don’t conflict. Direct mode tasks run sequentially to prevent conflicts on the same branch. You can configure the maximum number of concurrent tasks in Settings.The queue position is displayed next to each task in the sidebar, so you can see where each task stands.During execution you can:
Stop a running task
Cancel a task and move it back to backlog
Track real-time progress (current tool, completed tools, todo items)
Create custom tags with colors to organize your tasks. Tags are defined per project and can be managed from the Tag Manager in the Kanban view. Choose from 12 colors.Examples: bug, feature, refactor, urgent, design
Coddo creates a Git worktree - a full, isolated copy of your repository checked out on a dedicated branch. The agent works inside this worktree without touching your main working directory.
You select a base branch (e.g. main) and Coddo generates a branch name like coddo/1-fix-login
Up to 5 worktree tasks can run in parallel, each in its own isolated copy. Configure the concurrency limit in Settings
When the task is done, you review the changes and merge the branch back into your base branch from the Git view
All Kanban data is saved locally in your project’s .coddo/kanban.json file. Changes are persisted automatically as you work.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Coddo","colors":{"primary":"#000000","light":"#FFFFFF","dark":"#000000"},"logo":{"light":"https://mintcdn.com/sygen/dGgD9qdq7HLn8bLe/logo/light.svg?fit=max\u0026auto=format\u0026n=dGgD9qdq7HLn8bLe\u0026q=85\u0026s=3ed64d03fb85422f4f5f5ddb0c09d399","dark":"https://mintcdn.com/sygen/dGgD9qdq7HLn8bLe/logo/dark.svg?fit=max\u0026auto=format\u0026n=dGgD9qdq7HLn8bLe\u0026q=85\u0026s=57949fe680deee5b3c4872b036c77f12"},"favicon":"https://mintcdn.com/sygen/dGgD9qdq7HLn8bLe/favicon.svg?fit=max\u0026auto=format\u0026n=dGgD9qdq7HLn8bLe\u0026q=85\u0026s=54593dbc8eab3465636b1b5fb2ab6c18","background":{"color":{"light":"#FFFDFA","dark":"#0A0A0A"}},"navbar":{"links":[{"href":"mailto:hello@coddo.ai","label":"Support"}],"primary":{"type":"button","label":"Download","href":"https://coddo.ai/download"}},"footer":{"socials":{"x":"https://x.com/coddo_ai","github":"https://github.com/coddo-ai/coddo-releases","instagram":"https://www.instagram.com/coddo.ai","discord":"https://discord.gg/S6J3kYTgAy"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://coddo.ai"},{"anchor":"Download Coddo","icon":"download","href":"https://coddo.ai/download"},{"anchor":"Whisper Island","icon":"microphone","href":"https://coddo.ai/whisper-island"},{"anchor":"GitHub","icon":"github","href":"https://github.com/coddo-ai/coddo-releases"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sygen","hasAudioNarration":false,"actualSubdomain":"sygen","customDomains":["docs.coddo.ai"],"gitSource":{"type":"github","owner":"coddo-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21db29a00fa423a8a608eb","collectionId":"a8c91f02-98a5-4db5-9531-ac7da83efa0a","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21db29a00fa423a8a608eb:success","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Coddo","count":14},{"language":"default","tag":"Features","count":12},{"language":"default","tag":"Whisper Island","count":10},{"language":"default","tag":"Guides","count":3},{"language":"default","tag":"Getting Started","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"features/kanban","slug":"/features/kanban","pageMetadata":{"title":"Kanban Board","description":"Track your tasks visually with a drag-and-drop Kanban board integrated with Claude Code and Codex.","icon":"table-columns","href":"/features/kanban"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Track your tasks visually with a drag-and-drop Kanban board integrated with Claude Code and Codex.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Frame,Heading,OptimizedImage,Table,Tip}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The Kanban board is the heart of Coddo’s task management. It gives you a visual overview of all your tasks and their progress, updated in real time as your agent (Claude Code or Codex) works.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-kanban-overview.png?fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=cd381b81afcd579855b466e461c7091b`,alt:`Coddo Kanban board with tasks across columns`,\"data-og-width\":`1740`,width:`1740`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/coddo-kanban-overview.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-kanban-overview.png?w=280\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=384a44bb760b26c1263259e10fe4c220 280w, https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-kanban-overview.png?w=560\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=c9ea6cab5f8fe1566f64643bc7051f1f 560w, https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-kanban-overview.png?w=840\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=62bf9e4f42b00faf821d7ced31990306 840w, https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-kanban-overview.png?w=1100\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=dafcec7c056e82bb880d3bcda7783ee6 1100w, https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-kanban-overview.png?w=1650\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=6848bd138c87ef87d4b62d5965e821ae 1650w, https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-kanban-overview.png?w=2500\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=a045f8c18effe5d27bee771d1017c909 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`columns`,children:`Columns`}),`\n`,_jsxs(_components.p,{children:[`Tasks flow through five columns. A `,_jsx(_components.strong,{children:`bar chart`}),` at the top of the Kanban view shows the task count per column at a glance.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Column`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Backlog`})}),_jsx(_components.td,{children:`Ideas and future tasks not yet planned`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Todo`})}),_jsx(_components.td,{children:`Tasks planned and ready to be worked on`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`In Progress`})}),_jsx(_components.td,{children:`Tasks currently being executed by the agent`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Review`})}),_jsx(_components.td,{children:`Completed tasks awaiting your review`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Done`})}),_jsx(_components.td,{children:`Finished and reviewed tasks`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`creating-tasks`,children:`Creating tasks`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`+ New Task`}),` from the Kanban view or from the `,_jsx(_components.strong,{children:`+ button in the sidebar`}),` to open the task creation dialog. Each task gets a sequential number (TASK-00001, TASK-00002, etc.). Each task has:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Title`}),` - A short name for the task`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Instruction`}),` - Detailed description of what the agent should do, with a `,_jsx(_components.strong,{children:`rich text editor`}),` supporting bold, italic, code, and lists. You can also `,_jsx(_components.strong,{children:`dictate`}),` the instruction with the mic button — see `,_jsx(_components.a,{href:`/features/voice-dictation`,children:`Voice Dictation`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Tags`}),` - Color-coded labels for categorization`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Execution mode`}),` - `,_jsx(_components.code,{children:`worktree`}),` (isolated branch), `,_jsx(_components.code,{children:`direct`}),` (current branch), or `,_jsx(_components.code,{children:`last used`}),`. The default is configurable in `,_jsx(_components.strong,{children:`Settings`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Provider \u0026 model`}),` - Choose Claude (Sonnet 4.6, Opus 4.7, Haiku 4.5) or Codex (GPT-5.5, GPT-5.4, GPT-5.4 Mini, 5.3 Codex, 5.3 Codex Spark)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Images`}),` - Attach reference images or mockups (drag-and-drop or paste)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Destination column`}),` - Choose where the task is created (Backlog or Todo). The default is configurable in `,_jsx(_components.strong,{children:`Settings`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Auto-commit`}),` - Per-task toggle for direct mode tasks`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Use the `,_jsx(_components.strong,{children:`Reset`}),` button to clear all fields and start over.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-task-detail.png?fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=8c999eab3aa47b1c3a239f223eca88ce`,alt:`Task creation dialog with title, instruction, tags, and execution mode`,\"data-og-width\":`1740`,width:`1740`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/coddo-task-detail.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-task-detail.png?w=280\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=d11fd0d8c4693a4b60528d887698daca 280w, https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-task-detail.png?w=560\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=45e12443e3bed8fb8b039c54588a6bba 560w, https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-task-detail.png?w=840\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=04500e6b081db0f48c052f85ac4eaf14 840w, https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-task-detail.png?w=1100\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=6f07af8718b0349df11e4003e428db04 1100w, https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-task-detail.png?w=1650\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=e78a10a7f159cf993947f19963af555a 1650w, https://mintcdn.com/sygen/lt_SPndeOhXmOslj/images/coddo-task-detail.png?w=2500\u0026fit=max\u0026auto=format\u0026n=lt_SPndeOhXmOslj\u0026q=85\u0026s=19ad73657b40375e2272c151275d55ca 2500w`})}),`\n`,_jsxs(Tip,{children:[`If you close the task creation dialog before submitting, all fields (title, instruction, tags, mode, model, images) are `,_jsx(_components.strong,{children:`preserved`}),` and restored when you reopen it.`]}),`\n`,_jsxs(_components.p,{children:[`For worktree mode, you select a `,_jsx(_components.strong,{children:`base branch`}),` (e.g. `,_jsx(_components.code,{children:`main`}),`). Coddo automatically generates a branch name like `,_jsx(_components.code,{children:`coddo/1-fix-login`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`For direct mode, you can optionally enable `,_jsx(_components.strong,{children:`auto-commit`}),` and select a target branch.`]}),`\n`,_jsx(Tip,{children:`Write clear, detailed instructions for best results. The instruction is what the agent uses to understand what you want.`}),`\n`,_jsx(Heading,{level:`2`,id:`drag-and-drop`,children:`Drag and drop`}),`\n`,_jsxs(_components.p,{children:[`Reorder tasks within and between the `,_jsx(_components.strong,{children:`Backlog`}),` and `,_jsx(_components.strong,{children:`Todo`}),` columns by dragging them. Tasks in later columns (In Progress, Review, Done) cannot be dragged.`]}),`\n`,_jsx(Heading,{level:`2`,id:`filters`,children:`Filters`}),`\n`,_jsx(_components.p,{children:`Narrow the board to what matters right now:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Filter by column`}),` — focus on a single Kanban stage`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Filter by tag`}),` — show only tasks matching one or more tags`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Filters apply across board and list views.`}),`\n`,_jsx(Heading,{level:`2`,id:`task-queue`,children:`Task queue`}),`\n`,_jsxs(_components.p,{children:[`When a task is moved to `,_jsx(_components.strong,{children:`Todo`}),`, Coddo’s queue runner automatically picks it up and starts execution. Worktree tasks can run `,_jsx(_components.strong,{children:`up to 5 in parallel`}),` — each in its own isolated worktree, so they don’t conflict. Direct mode tasks run sequentially to prevent conflicts on the same branch. You can configure the maximum number of concurrent tasks in `,_jsx(_components.strong,{children:`Settings`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`queue position`}),` is displayed next to each task in the sidebar, so you can see where each task stands.`]}),`\n`,_jsx(_components.p,{children:`During execution you can:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Stop`}),` a running task`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Cancel`}),` a task and move it back to backlog`]}),`\n`,_jsx(_components.li,{children:`Track real-time progress (current tool, completed tools, todo items)`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`task-details`,children:`Task details`}),`\n`,_jsxs(_components.p,{children:[`Click on any task to open the `,_jsx(_components.strong,{children:`Detail Panel`}),` on the right side, which shows the linked chat conversation. From the task card you can:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Edit the title and instruction`}),`\n`,_jsx(_components.li,{children:`Manage tags`}),`\n`,_jsxs(_components.li,{children:[`See Git branch information and `,_jsx(_components.strong,{children:`last-modification timestamp`}),` (1h, 1d, 1mo, etc.)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Checkout`}),` the task’s branch directly from the card for quick branch switching`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Click the diff stats`}),` on the card to jump straight to the chat with the diff viewer open`]}),`\n`,_jsx(_components.li,{children:`Track duration`}),`\n`,_jsx(_components.li,{children:`View attached images`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`tags`,children:`Tags`}),`\n`,_jsxs(_components.p,{children:[`Create custom tags with colors to organize your tasks. Tags are defined per project and can be managed from the `,_jsx(_components.strong,{children:`Tag Manager`}),` in the Kanban view. Choose from 12 colors.`]}),`\n`,_jsxs(_components.p,{children:[`Examples: `,_jsx(_components.code,{children:`bug`}),`, `,_jsx(_components.code,{children:`feature`}),`, `,_jsx(_components.code,{children:`refactor`}),`, `,_jsx(_components.code,{children:`urgent`}),`, `,_jsx(_components.code,{children:`design`})]}),`\n`,_jsx(Heading,{level:`2`,id:`execution-modes`,children:`Execution modes`}),`\n`,_jsx(_components.p,{children:`When creating a task, you choose how the agent interacts with your Git repository.`}),`\n`,_jsx(Heading,{level:`3`,id:`worktree-mode-default`,children:`Worktree mode (default)`}),`\n`,_jsxs(_components.p,{children:[`Coddo creates a `,_jsx(_components.strong,{children:`Git worktree`}),` - a full, isolated copy of your repository checked out on a dedicated branch. The agent works inside this worktree without touching your main working directory.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`You select a `,_jsx(_components.strong,{children:`base branch`}),` (e.g. `,_jsx(_components.code,{children:`main`}),`) and Coddo generates a branch name like `,_jsx(_components.code,{children:`coddo/1-fix-login`})]}),`\n`,_jsxs(_components.li,{children:[`Up to `,_jsx(_components.strong,{children:`5 worktree tasks can run in parallel`}),`, each in its own isolated copy. Configure the concurrency limit in `,_jsx(_components.strong,{children:`Settings`})]}),`\n`,_jsxs(_components.li,{children:[`When the task is done, you review the changes and `,_jsx(_components.strong,{children:`merge the branch`}),` back into your base branch from the Git view`]}),`\n`,_jsx(_components.li,{children:`The worktree is cleaned up after merging`}),`\n`]}),`\n`,_jsx(_components.p,{children:`This is the recommended mode for most workflows.`}),`\n`,_jsx(Heading,{level:`3`,id:`direct-mode`,children:`Direct mode`}),`\n`,_jsxs(_components.p,{children:[`The agent works directly in your `,_jsx(_components.strong,{children:`current working directory`}),`, on whatever branch is currently checked out.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`You can optionally select a `,_jsx(_components.strong,{children:`target branch`}),` to work on`]}),`\n`,_jsxs(_components.li,{children:[`You can enable `,_jsx(_components.strong,{children:`auto-commit`}),` to automatically commit changes when the task finishes`]}),`\n`,_jsxs(_components.li,{children:[`Only `,_jsx(_components.strong,{children:`one direct task`}),` can run at a time since they share the same files`]}),`\n`,_jsx(_components.li,{children:`Changes appear immediately in your working directory`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Direct mode is simpler and faster - best for quick fixes or when you don’t need branch isolation.`}),`\n`,_jsx(Heading,{level:`3`,id:`default-execution-mode`,children:`Default execution mode`}),`\n`,_jsxs(_components.p,{children:[`You can set which mode new tasks default to in `,_jsx(_components.strong,{children:`Settings`}),`:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Option`}),_jsx(_components.th,{children:`Behavior`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Worktree`})}),_jsx(_components.td,{children:`Always default to worktree mode`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Direct`})}),_jsx(_components.td,{children:`Always default to direct mode`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Last used`})}),_jsx(_components.td,{children:`Use whatever mode you selected last`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`archiving`,children:`Archiving`}),`\n`,_jsxs(_components.p,{children:[`Completed tasks can be `,_jsx(_components.strong,{children:`archived`}),` to keep your board clean. You can:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Archive individual tasks`}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Batch archive`}),` all tasks in the Done column`]}),`\n`,_jsx(_components.li,{children:`View archived tasks in a collapsible section`}),`\n`,_jsx(_components.li,{children:`Unarchive or permanently remove archived tasks`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`view-modes`,children:`View modes`}),`\n`,_jsx(_components.p,{children:`Switch between two layouts:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Board view`}),` - Classic Kanban columns side by side`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`List view`}),` - Collapsible vertical list, compact and scannable`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`persistence`,children:`Persistence`}),`\n`,_jsxs(_components.p,{children:[`All Kanban data is saved locally in your project’s `,_jsx(_components.code,{children:`.coddo/kanban.json`}),` file. Changes are persisted automatically as you work.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Kanban Board","description":"Track your tasks visually with a drag-and-drop Kanban board integrated with Claude Code and Codex.","icon":"table-columns","href":"/features/kanban"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Columns","slug":"columns","depth":2,"children":[]},{"title":"Creating tasks","slug":"creating-tasks","depth":2,"children":[]},{"title":"Drag and drop","slug":"drag-and-drop","depth":2,"children":[]},{"title":"Filters","slug":"filters","depth":2,"children":[]},{"title":"Task queue","slug":"task-queue","depth":2,"children":[]},{"title":"Task details","slug":"task-details","depth":2,"children":[]},{"title":"Tags","slug":"tags","depth":2,"children":[]},{"title":"Execution modes","slug":"execution-modes","depth":2,"children":[{"title":"Worktree mode (default)","slug":"worktree-mode-default","depth":3,"children":[]},{"title":"Direct mode","slug":"direct-mode","depth":3,"children":[]},{"title":"Default execution mode","slug":"default-execution-mode","depth":3,"children":[]}]},{"title":"Archiving","slug":"archiving","depth":2,"children":[]},{"title":"View modes","slug":"view-modes","depth":2,"children":[]},{"title":"Persistence","slug":"persistence","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"sygen","siteName":"Coddo","title":"Kanban Board - Coddo","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-11T21:47:31.245Z","originalFileLocation":"features/kanban.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Track your tasks visually with a drag-and-drop Kanban board integrated with Claude Code and Codex.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Coddo\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sygen/dmNCSH8fkb2owK-J/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/sygen/dmNCSH8fkb2owK-J/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sygen/dmNCSH8fkb2owK-J/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sygen/dmNCSH8fkb2owK-J/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sygen/dmNCSH8fkb2owK-J/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sygen/dmNCSH8fkb2owK-J/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sygen/dmNCSH8fkb2owK-J/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sygen/dmNCSH8fkb2owK-J/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sygen/dmNCSH8fkb2owK-J/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Kanban Board - Coddo\">\u003cmeta data-mint-head property=\"og:description\" content=\"Track your tasks visually with a drag-and-drop Kanban board integrated with Claude Code and Codex.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Coddo\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.coddo.ai/features/kanban\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sygen.mintlify.app/_mintlify/api/og/v2?division=Features\u0026amp;title=Kanban+Board\u0026amp;description=Track+your+tasks+visually+with+a+drag-and-drop+Kanban+board+integrated+with+Claude+Code+and+Codex.\u0026amp;theme=9b42f8e6af8f6f18488189ca\u0026amp;signature=abbdb30db6bfeaafc4221f0562470f66d0b5ccd21966bd27ca6e7fe4d0289ad3\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Kanban Board - Coddo\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Track your tasks visually with a drag-and-drop Kanban board integrated with Claude Code and Codex.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sygen.mintlify.app/_mintlify/api/og/v2?division=Features\u0026amp;title=Kanban+Board\u0026amp;description=Track+your+tasks+visually+with+a+drag-and-drop+Kanban+board+integrated+with+Claude+Code+and+Codex.\u0026amp;theme=9b42f8e6af8f6f18488189ca\u0026amp;signature=abbdb30db6bfeaafc4221f0562470f66d0b5ccd21966bd27ca6e7fe4d0289ad3\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/sygen/dmNCSH8fkb2owK-J/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Coddo\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.coddo.ai/features/kanban\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/features/kanban.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.coddo.ai/#organization\",\"name\":\"Coddo\",\"url\":\"https://docs.coddo.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sygen/dGgD9qdq7HLn8bLe/logo/light.svg?fit=max\u0026auto=format\u0026n=dGgD9qdq7HLn8bLe\u0026q=85\u0026s=3ed64d03fb85422f4f5f5ddb0c09d399\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.coddo.ai#website\",\"name\":\"Coddo\",\"url\":\"https://docs.coddo.ai\",\"publisher\":{\"@id\":\"https://docs.coddo.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.coddo.ai/features/kanban#webpage\",\"url\":\"https://docs.coddo.ai/features/kanban\",\"name\":\"Kanban Board\",\"description\":\"Track your tasks visually with a drag-and-drop Kanban board integrated with Claude Code and Codex.\",\"dateModified\":\"2026-05-11T21:47:31.245Z\",\"isPartOf\":{\"@id\":\"https://docs.coddo.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.coddo.ai/features/kanban#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.coddo.ai/features/kanban#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features\",\"item\":\"https://docs.coddo.ai/features/chat\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kanban Board\",\"item\":\"https://docs.coddo.ai/features/kanban\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.coddo.ai/features/kanban#article\",\"headline\":\"Kanban Board\",\"name\":\"Kanban Board\",\"description\":\"Track your tasks visually with a drag-and-drop Kanban board integrated with Claude Code and Codex.\",\"url\":\"https://docs.coddo.ai/features/kanban\",\"mainEntityOfPage\":{\"@id\":\"https://docs.coddo.ai/features/kanban#webpage\"},\"dateModified\":\"2026-05-11T21:47:31.245Z\",\"publisher\":{\"@id\":\"https://docs.coddo.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.coddo.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Coddo\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Coddo","nav":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://coddo.ai"},{"anchor":"Download Coddo","icon":"download","href":"https://coddo.ai/download"},{"anchor":"Whisper Island","icon":"microphone","href":"https://coddo.ai/whisper-island"},{"anchor":"GitHub","icon":"github","href":"https://github.com/coddo-ai/coddo-releases"}]},"tabs":[{"tab":"Coddo","groups":[{"group":"Getting Started","pages":[{"title":"Introduction","href":""},{"title":"Installation","href":"/installation"},{"title":"Quick Start","href":"/quickstart"}]},{"group":"Features","pages":[{"title":"Chat Interface","description":"Talk to Claude Code or Codex through a rich visual interface with streaming, diffs, and more.","icon":"message","href":"/features/chat"},{"title":"Kanban Board","icon":"table-columns","href":"/features/kanban"},{"title":"Git Integration","description":"Manage branches, commits, merges, and worktrees - all from the Coddo UI.","icon":"code-branch","href":"/features/git"},{"title":"Voice Dictation","icon":"microphone","href":"/features/voice-dictation"},{"title":"Skills","icon":"bolt","href":"/features/skills"},{"title":"Statistics","icon":"chart-line","href":"/features/stats"},{"title":"CLAUDE.md / AGENTS.md Editor","icon":"file-pen","href":"/features/claude-md"},{"title":"Settings","icon":"gear","href":"/features/settings"}]},{"group":"Guides","pages":[{"title":"Creating Your First Project","icon":"folder-plus","href":"/guides/first-project"},{"title":"Task Workflow","icon":"arrow-progress","href":"/guides/task-workflow"},{"title":"Git Workflow","icon":"code-branch","href":"/guides/git-workflow"}]}]},{"tab":"Whisper Island","pages":[{"title":"Whisper Island","href":"/whisper-island"}]}]},"basePath":"","title":"Kanban Board - Coddo","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DW6UFrUy.js","DynamicMarkdown-B62XqCSI.js","zoom-image-lightbox-eHyQ0tlO.js","lightbox-handle-r17bVUz3.js"]}