Extension

patriceckhart/zot-workspaces

List every directory that has zot sessions mapped, and jump zot into one.

extension

Install from GitHub and zot copies the extension into $ZOT_HOME/extensions/. Git-installed extensions update with zot update.

shell
zot ext install https://github.com/patriceckhart/zot-workspaces
repository
patriceckhart/zot-workspaces
author
patriceckhart
stars
0
forks
0
open issues
0
language
TypeScript
license
MIT
topics
zot-extension
created
May 19, 2026
updated
May 27, 2026

Security note: zot extensions can execute code. Review the source before installing third-party extensions.

Readme

zot-workspaces

List every directory that has zot sessions mapped, and jump zot into one.

Install

zot ext install https://github.com/patriceckhart/zot-workspaces

Restart zot after installing. First run downloads tsx into npm's cache (one network hit, a few seconds); subsequent runs are instant.

Usage

Type:

/workspaces

This opens an interactive dashboard listing every cwd that has at least one zot session under $ZOT_HOME/sessions/ and still exists on disk. Rows are sorted by most recently used.

  workspaces (4)

  ~/Developer/zot              285 sessions   2s ago
  ~/Sites/dentacore-app          6 sessions   2h ago
  ~/Desktop/test                15 sessions   1d ago
  ~/Developer/zot-todo           1 session    2d ago

  up/down navigate - enter jump here - r rescan - esc close

Keys:

Key Action
↑ / ↓ Move cursor
Enter Jump zot into the highlighted workspace
r Rescan $ZOT_HOME/sessions/ and redraw
Esc Close

Pressing Enter switches zot's working directory in place: the current session is closed, the agent is rebuilt so tools, AGENTS.md, and the /jail sandbox re-bind to the new directory, and a fresh session opens in the new cwd. Same end state as relaunching with zot --cwd /path, no process restart.

How it works

zot stores sessions under $ZOT_HOME/sessions/<sha256(cwd)[:16]hex>/<timestamp>-<id>.jsonl. The original cwd is recorded in the session file's first line:

{"type":"meta","meta":{"id":"...","cwd":"/abs/path", ...}}

The extension walks $ZOT_HOME/sessions/, reads only the first line of each .jsonl, groups by meta.cwd, drops cwds that no longer exist on disk, and uses each file's mtime to pick a "last used" timestamp per workspace.

License

MIT