# Work Notes — JustADev beta

Keep manually recorded decisions, constraints, and next steps in a local project pane. Saving and viewing notes make **no model requests**. Notes live in Claude Code’s plugin store, separately from the conversation, so conversation compaction does not delete them.

This is a manual notebook. It does not remember the conversation automatically, restore model context, or make Claude follow a saved constraint. Read a note and explicitly include it in a prompt when you want Claude to use it.

## Try it

Requires Claude Code **2.1.307 or later** for this beta. Validated and tested with 2.1.307 using the official offline test kit; interactive painting and live user sessions have not yet been verified.

Unzip the download, then run from your project:

```sh
claude plugin validate /absolute/path/to/work-notes
claude --plugin-dir /absolute/path/to/work-notes
```

At the Claude Code prompt:

```text
/jad-jot Keep the public API response backwards compatible.
/jad-jot Next step: verify the mobile layout before shipping.
/jad-notes
```

The first command stores one trimmed note; the second command opens the notes pane. Press Esc to close it. Both commands can run while Claude is working. Reopen the pane to refresh notes added by another session.

There is deliberately no delete or clear command in this beta. Each note accepts at most 2,000 characters, and each project accepts at most 100 notes. Storage failures show a generic message and do not intentionally replace or delete an existing note.

## What it reads, writes, and sends

- Reads the session’s absolute working directory, session ID, clock, and this plugin’s local store keys/values.
- Writes each note’s text and timestamp to its own project-prefixed key through `$.store.set`. Notes from the same exact working directory are shared between local sessions. Different directories, including separate worktrees and symlink paths, have separate notebooks.
- Renders note contents only in its own pane. It emits generic success/error toasts; it does not log or return note contents as command-output text.
- Makes no network calls, model calls, process calls, direct file reads, permission decisions, or automatic prompt changes.

Claude Code stores the plugin’s JSON data under its configuration directory, normally `~/.claude/plugins/store/`. This is **unencrypted local storage**, not a secrets vault. The command you type may also remain in Claude Code’s own local transcript; the mod does not control that host behavior. Avoid storing credentials or private secrets.

Store data remains until removed or aged out by Claude Code’s `cleanupPeriodDays` policy. Claude Code limits the entire plugin store to 4 MiB. The mod cannot guarantee indefinite retention, synchronize data between computers, or enforce a hard 100-note cap if several sessions save simultaneously. Unique per-note keys prevent sessions from overwriting a shared notes array.

The pane targets interactive terminal, Desktop Code, and VS Code surfaces supported by this Claude Code version. Headless sessions cannot display it. This mod never draws in the shared `AbovePrompt` band and can coexist with a context-band mod.

## Verify without a model or sign-in

```sh
cd /absolute/path/to/work-notes
claude plugin validate .
claude plugin test
```

Tests cover project separation, preservation of pre-existing notes, input validation, local storage failure, command registration, and pane rendering. They use host API stubs; they do not make a live model request.

## Sources

- [Claude Code mods API](https://code.claude.com/docs/en/plugins/mods/api)
- [Persistent store and concurrent sessions](https://code.claude.com/docs/en/plugins/mods/interface#save-from-more-than-one-session)
- [Request: queue context without triggering computation](https://github.com/anthropics/claude-code/issues/95348)
- [Request: session handoff and continuity](https://github.com/anthropics/claude-code/issues/11455)

MIT licensed. Independent JustADev beta; not affiliated with Anthropic.
