v0.5.3
Sessions from the CLI
maki session list # sessions for this directory
maki session list --global # every project
maki session delete <id> # asks first, -f skipsThe table shows id, title, project directory and how long ago it was touched, newest first. Any id there works with maki --session <id>. See the CLI docs.
Thanks @laanwj.
OpenAI browser login
maki auth login openai now offers a browser flow (PKCE, callback on localhost:1455) next to the device code flow. Browser is the default on desktop, device code is still the one to pick over SSH or in a container. See Providers.
Thanks @vvilhonen.
Other features
PageUp/PageDownscroll the chat by a page, matching the pickers. Works while streaming and in subagent views. Thanks @laanwj.- Themes can style diff signs and gutters separately with
diff_old_sign,diff_new_sign,diff_old_line_nranddiff_new_line_nr, so coloring the signs no longer stomps on syntax highlighting. Existing themes look the same. Thanks @untitaker. Seeui.theme. - New
TaskFocusChangedautocmd andctx:task_id()in tools. See the Lua API.
Fixes
- Ollama models could never send an image. Every one of them reported no vision support, so llava and qwen2.5vl got the image stripped too. Capabilities now come from
/api/show. Thanks @wmantly. - Vision models that only models.dev knows about lost their images, because builtin data resolved before the catalog and the family default won. opencode-go models like omen-alpha were hit by this. Thanks @reid-rigo.
/compactand auto compact failed on opencode-go with a 400. The summariser request went out without a session id. Thanks @reid-rigo.- The todo panel follows the chat you are looking at. A subagent calling
todo_writeused to overwrite the parent's list, and two subagents overwrote each other. - A denied or cancelled
todo_writeno longer refills the panel when a session loads. - OAuth login could hang for hours. The loopback server timed out per read instead of per request, so a peer trickling one byte at a time held it open well past the timeout.
Breaking
maki session deleteasks before deleting. Pass-fin scripts. It refuses when stdin is not a terminal, so a pipe cannot answer for it. A maki that already has the session open will not notice the delete and loses the rest of that conversation, so close it first.- Restore items carry a
session_idand areason("load"or"rerender"). Plugins that key state by session id alone will mix up subagents, since a subagent shares its parent's id. Usectx:task_id().