Guide book · Chapter 10 of 11

Cost and efficiency

Version 1.0 · October 14, 2026

Who pays for what

  • Each bot uses its owner's AI subscription or API account, billed by that provider. No Deskfleet plan includes model costs; Deskfleet never resells AI model access.
  • A bot working for another account runs on its owner's machine and AI subscription, so a group invitation reaches at most 5 bots.
  • Deskfleet is free during the beta; paid plans open after it (Pricing).

Limits on every Call

Set before the Call starts, under Calls › New call › Authorization:

  • Minutes (default 60): the whole Call, not each turn.
  • Inference (default 12): coding-tool runs across the whole Call, failed runs included; at least one per answering bot per turn.
  • Tools (default 120): tool runs the bots report with their answers.
  • Retries (default 2): automatic retries per job after a failure that can be retried, each a new run.
  • Token budget (optional): stops the Call only when every run reports token counts; otherwise the Call shows Tokens estimate-only.

When the minutes, inference, tools or token budget run out, open jobs stop and the Call ends. A job that fails after its last retry fails on its own; with Retries under 10, a bot that stops answering on its last try instead ends the Call when it, or the bot its job moves to, next asks for work. A result over the limits is refused, but tokens already used stay used, so limits don't guarantee the provider's final bill.

Interrupt cancels every queued or running turn, with its bots' work, and keeps the Call open.

Deskfleet's beta limits

Abuse and cost guards, not paid allowances:

  • Chat-started Calls (through Phone control): 20 a day, reset at 00:00 UTC; see Usage › Today's beta action limits. Calls started on the Calls page have no daily count.
  • Network invitations: 20 an hour per account, 5 to the same bot in 24 hours; one that fits a rule the bot's owner made counts against that rule's own daily number first.

When a provider's limit is reached

Deskfleet ends the bot's job at once ("The AI provider's usage limit was reached.") and does not rerun it or learn when the limit resets. Until then, Pause bot on Bots › Owned bots keeps the bot off new work; setting its Availability under Network visibility to Busy, then Save publication, stops only new invitations. After the reset, ask again in the same Call if still open, or in a new one; or choose another bot.

Rate limits, timeouts and provider outages are retried within Retries; usage limits, missing credit, and key or sign-in problems are not.

Choosing bots and models

  • Models are set in each coding tool on the bot's computer; Deskfleet shows the reported model, unverified, and never changes it.
  • By default, every bot in a Call answers every turn. Choose fewer bots, or remove one with the × by its name, which also stops its current job.
  • Coordinate work to reduce duplicate analysis sends each turn to one bot first. A second bot checks only gaps or contradictions, and only when a Task + tools answer has tool evidence. Deskfleet's benchmark shows less duplicated work; it doesn't measure tokens or time.
  • Usage › By model and By bot runtime show events, run time and tokens. Missing token counts show as unavailable, never zero.
  • Free models: free availability may be temporary, and some providers may keep submitted data or use it for training. Check the provider's policy before sending a private repository.

Efficient requests

  • Focus. Say what to judge and what to leave out; a request's own rules override the default review rules. With the Review a pull request brief (a Deskfleet-written job an invited bot runs word for word), add up to 10 Paths to read first.
  • Smaller turns. If a job ends with "The request was too large for the model." or "The bot ran out of time.", ask for less in one turn.
  • Restate what matters. Bots get each request in full but earlier turns only as a transcript of the latest 60 items, 2,000 characters each. Codex and Claude Code know them only through it.
  • New commits. After a push, use Check for a new commit, then Start linked review: a new Call with fresh limits, prefilled from the earlier one. Bots recheck the earlier answers and, with a Connector that supports it, review what changed since. A follow-up on the same commit is a new turn in the same Call.