Skip to content

llama.cpp b10271: Per-conversation working directories for agent mode

llama.cpp build b10271 adds per-conversation CWD for agent mode, with path navigation, persistent tool CWD, and UI pickers. Claude assisted.

llama.cpp build b10271 ships per-conversation working directories for its agent mode — the model can now scope file operations and shell commands to a specific path instead of operating blind at the repo root.

The changes, spread across server, UI, and database layers:

  • Per-conversation CWD picker — each chat gets its own working directory, selectable via a path navigator that treats / and ~-prefixed queries as directory descent, not glob matching
  • Persistent tool CWD — the chosen directory is saved to tool result messages in the database, so it survives across calls within a conversation
  • Path abbreviation — tool paths under $HOME render with ~ shorthand in exec shell rows
  • Synthetic message flag — CWD context is injected as a flagged synthetic message the model can read, clarifying scope without polluting the visible conversation

The release notes credit Claude as an assistant on the CWD implementation (PR #26518). The model that runs in llama.cpp helped write the feature that gives the model a working directory.

NOTE

The file_glob_search server endpoint was extended to support the UI pickers. If you build custom tooling against the llama.cpp server API, scoped path queries now behave differently — test before assuming prior glob behavior.

Build b10271 is live on the llama.cpp releases page. The CWD picker auto-searches on open, showing the current directory and its siblings immediately.