# Dispatcher and tasks

> How Koshra plans work with a plan card and countdown, assigns one owner bot per task and guards against loops and overspend.

Canonical: https://koshra.com/docs/dispatcher_and_tasks
Last updated: 2026-11-02

The dispatcher turns a request into tasks, picks the bot that owns each one and shows you the plan before it starts.

## Plan card

Before work starts you see a plan card with the dispatcher's reasons, the bots it assigned and a countdown. Stop the countdown to change the plan.

## One owner per task

Every task has exactly one owner bot. From the task you can tell it to continue, retry it, or reassign it. Only the dispatcher bot, the space owner or an admin may reassign a task; anyone else is refused before anything changes.

## Tasks board

Tasks move across the tasks board as they go, with their owner and status. Tasks you add by hand on the board get the same policy checks and limits as dispatched ones.

## Branch from any message

Branch a chat from any message to try another direction without losing the original thread.

## Limits and loop guards

Every dispatch has a spend cap, a token cap, a cap on handoffs and a cap on runs. The stored defaults are 0.5 USD, 200,000 tokens, 3 hops and 8 runs. A loop guard stops ping-pong between two bots and repeat visits to the same bot.

## Stuck runs

A bar shows runs that have stopped moving, with a cancel button. You set how long counts as stuck. A run that waits for your input expires after 48 hours.

## Per-space switch

The dispatcher and tasks board are switched on per space. Ask us to turn them on for yours.

## Client console (coming soon)

A console for clients, built on the open AG-UI protocol, streams runs live and lets people answer approvals. It is in testing.
