Skip to content

Releases

Handful v0.21.0

Choose a tag to compare

@github-actions github-actions released this 13 Nov 14:47
9a536ec

Highlights

Bots use far fewer tokens

  • A bot now keeps the instructions its chat started with. When its memory, team, instructions or routines change, Handful sends only the changed part with the next message. Before, any such change made Claude Code read the whole conversation into its cache again.
  • A bot now summarises the older part of its chat once the chat reaches 200k tokens. Before, a chat could grow to the model's full window, and every call read up to about 970k tokens.
  • In the team's test runs, these two changes cut token use by about 75% or more.
  • A change that reaches a bot while a turn fails or stops is sent again with its next message.

See a bot's context in its Settings tab

  • A bot's Settings tab now shows how much context the bot carries and how its last turn went, for example "Context: 142k of 200k · last turn: 3 calls, from cache".
  • "rebuilt the cache" means the last turn had to read its context in again, which costs more.
  • The line updates when any of the bot's turns ends, in its own chat, a team or a room.

Changes

  • New endpoint: GET /api/bots/{id}/usage returns the bot's context window and its last turn's tokens.
  • Database migrations 024 and 025 run on first start. They store each chat's known instructions and each turn's token counts.

Pull requests

#168, #169

Full Changelog: v0.20.0...v0.21.0

Handful v0.20.0

Choose a tag to compare

@github-actions github-actions released this 13 Nov 11:44
fba7ada

Highlights

Ask a team's lead for work from its own chat

  • When you ask a team's lead in its own chat to add work to its team, the lead can now put it on the team's board as your task. It lands in the team's inbox, or as the Now task when you ask to start it now, just as with /task.
  • In its own chat, a lead can also look at its team's board.
  • A lead that leads several teams asks which team you mean.
  • It works only in a turn that your own message to the lead started. Routines, messages from other bots and other turns can't add tasks this way.
  • A member that isn't the lead says which bot leads the team.
  • Steps and reviews still happen only inside the team.

Changes

  • update_board is now offered in the own chat of a bot that is in a team, with list and a new user_task action. user_task takes team_id when the lead leads several teams.

Pull requests

#167

Full Changelog: v0.19.3...v0.20.0

Handful v0.19.3

Choose a tag to compare

@github-actions github-actions released this 13 Nov 07:43
4133d52

Highlights

Bots get instructions that match how Handful works

  • A team's lead is now told to approve the tasks it should approve: its own team's proposals, including tasks from propose and make_task, and tasks it sent to another team once they are delivered. Before, such tasks could stay under "Done, waiting for approval".
  • Errors and tool results name the board actions that exist today (send_task, propose then take, waits_for), not the retired ones.
  • A reviewer is told plainly that it can't edit files while one of its steps is in review, and the refusal names the step.
  • Bots use the words you see in the app: task and step, and /task.
  • Every bot is told to read a repository's CLAUDE.md and AGENTS.md before it works there, because Claude Code doesn't load a project's CLAUDE.md in Handful.

Builder

  • Builder no longer promises 30 turns per task, and the setup card no longer shows a per-task budget. A team has no turn limit until you set Turns per day in its settings.

Changes

  • create_setup still accepts goal_budget, so an older setup doesn't fail, but the value is ignored.

Pull requests

#166

Full Changelog: v0.19.2...v0.19.3

Handful v0.19.2

Choose a tag to compare

@github-actions github-actions released this 13 Nov 06:02
72a78cb

Highlights

Linked skills show in Handful again

  • A skill whose folder in the skills folder is a symbolic link now shows in the Skills tab, the / menu and the skill labels on sent messages. Before, Handful listed none of them, though bots could still run them.
  • A broken link, a link to a file or a link that loops is skipped and doesn't hide the other skills.

Changes

  • GET /api/skills and the update_skill list tool now include linked skills.

Pull requests

#165

Full Changelog: v0.19.1...v0.19.2

Handful v0.19.1

Choose a tag to compare

@github-actions github-actions released this 12 Nov 21:24
eda65a2

Highlights

Bot and team icons from the Handful logo

  • Each bot now shows a round bot with two eyes, in the bot's own colour. Builder gets the same icon.
  • Each team shows three outlined bots, in the team's colour.
  • The new icons appear in the sidebar, the @mention menu and the list of working bots in the update dialog.
  • Rooms and the @here row keep their icons. Nothing in the sidebar moves.

Pull requests

#164

Full Changelog: v0.19.0...v0.19.1

Handful v0.19.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 17:15
cf77159

Highlights

Skills work as in Claude Code

  • A message that names a skill, such as /weekly-report for October, now goes to Claude Code unchanged, and Claude Code runs the skill itself. Handful no longer rewrites the message into its own prompt.
  • This works in bot chats and in team chats, also after an @mention, such as @Copywriter /weekly-report for October.
  • The / menu now opens anywhere in a message, after a space. At the very start it's titled Commands and skills and also lists /clear, /compact and, in a team, /task. Elsewhere it's titled Skills and lists skills only.
  • Your message shows a skill: <id> label for each skill it names.
  • Handful's own commands, /clear, /compact, /task and /goal, still work only at the start of a message.

Bring back what you sent

  • In the message box, ↑ brings back the messages you sent earlier in the same chat, newest first, as in Claude Code. ↓ goes forward again, back to your draft.
  • ↑ works from an empty box or the start of the text. Escape returns to your draft.
  • A recalled message opens no menu. The draft you were typing is kept, also when you switch chats.
  • Each chat keeps up to 1,000 sent messages in this browser. Deleting a chat removes them.

Pull requests

#159, #160

Full Changelog: v0.18.1...v0.19.0

Handful v0.18.1

Choose a tag to compare

@github-actions github-actions released this 12 Nov 16:25
56d1ec9

Highlights

Updates and restarts no longer cut off a turn that just started

  • When Handful waits for running bots before an update or a restart, it stops starting new turns. Before, a turn queued just as the wait began could still start, and the update or restart could then cut it off.
  • Now a turn either starts before the wait begins, or stays queued and starts once the update or restart is done.

Pull requests

#158

Full Changelog: v0.18.0...v0.18.1

Handful v0.18.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 14:49
1618715

Highlights

Zoom into images

  • The image viewer now has a zoom toolbar at the bottom: Zoom out, a percent readout, Zoom in, Fit and 1:1. Click the readout to switch between fit and 100 %.
  • Zoom from fit up to 800 %, so small text in a full-window screenshot is readable without opening the original.
  • On a Mac: pinch on the trackpad, or hold ⌘ (Ctrl elsewhere) and scroll, to zoom around the pointer. Double-click switches between fit and 100 %.
  • Move around a zoomed image by dragging it, scrolling, or with the arrow keys (Shift for bigger steps). The image never slides out of view.
  • Keys: + and - zoom, 0 fits, 1 shows 1:1. ← and → still page through images when the image fits.
  • On a phone: pinch to zoom, drag with one finger to pan, double-tap to switch, and swipe sideways to page at fit.
  • When zoomed, a click beside the image no longer closes the viewer, so a drag can't close it by accident.
  • Videos are unchanged.

Changes

  • On narrow touch screens the image's Previous and Next arrows hide, because a swipe pages. A narrow desktop window keeps them.
  • The viewer's buttons have darker backgrounds and a clear focus ring, and screen readers hear the zoom level after it changes.

Pull requests

#157

Full Changelog: v0.17.0...v0.18.0

Handful v0.17.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 13:09
be765b4

Highlights

Changes through the local API need Handful's key

  • Handful now keeps a key in ~/.handful/ui-key (with -data, in ui-key in that folder). It makes the key on first start and keeps it across restarts.
  • Every change through Handful's local API needs the key. Reads don't. Without the key, a change gets 401 "This needs Handful's key."
  • Handful.app sends the key itself, so nothing changes for you there.
  • A browser on a source build asks once for the key: run cat ~/.handful/ui-key in a terminal on this computer and paste the result.
  • Your own scripts that change things through the API must send the key as a header: -H "X-Handful-Key: $(cat ~/.handful/ui-key)". Scripts that only read need no change.
  • To get a new key, delete ui-key and restart Handful.
  • Its limit: the key stops code that doesn't know about it. Bots run as your user, so a bot that reads the file on purpose, or a script that an approved command runs, can still use it.
  • Bots' Read, Grep and Glob tools now skip Handful's own files: the key, the database and its copies, run/, oauth/, connectors.json and backup/. A command you approve can still read them.

Fewer lost and repeated turns

  • A routine waits while its last run is still queued, so runs no longer pile up during a usage-limit pause. Changing, pausing or deleting a routine ends its queued runs.
  • Every queued turn gets its turn, also behind more than 100 turns of busy bots, and Handful never runs more than Turns at once.
  • After a reconnect, a chat no longer misses a change that arrived late.
  • A turn's result is its own: an old result from Claude Code no longer marks a later turn as failed.
  • A stopped turn says who stopped it: "Stopped." when you stop it, or "The server stopped while this turn was running." when Handful shuts down.

Time zones and routines

  • Routines, team budgets and times in prompts follow a change of your Mac's time zone within a minute, without a restart.
  • After a restart, the note about an interrupted turn goes to the chat where the turn ran, also in rooms.
  • Editing, renaming or pausing a routine no longer fails near a daylight-saving change.

Changes

  • New endpoint: POST /api/key takes the key from the key page and sets the handful_key cookie. GET /api/session now says whether the browser has the key.
  • Database migration 023 runs on first start. It links routine runs to their routine.
  • The public API docs on handful.dev (llms.txt and the Security page) describe the key.

Pull requests

#147, #148, #151, #152, #153, #154, #155, #156

Full Changelog: v0.16.1...v0.17.0

Handful v0.16.1

Choose a tag to compare

@github-actions github-actions released this 12 Nov 10:19
0e34410

Highlights

A turn that hits the usage limit runs again

  • When a turn hits the Claude usage limit, it now waits and runs again after the pause, instead of failing. You don't have to send the message again.
  • The chat still shows "Claude usage limit reached. New turns wait until …".
  • When the limit message gives a reset time that has just passed, Handful now waits 1 minute and tries again. Before, it could take the time for the next day and wait up to 6 hours.

A message sent again is stored once

  • If sending fails and you click Send again, the message is stored once, not twice. A changed draft counts as a new message.
  • Two sends of the same message at the same moment no longer cause an error.
  • In a room, a post and the turns it wakes are saved together. If saving fails, nothing is posted, and sending again posts it once and wakes the members.

Pull requests

#149, #150

Full Changelog: v0.16.0...v0.16.1