ICOR for Life - Chat

by Paperless Movement S.L.
5
4
3
2
1
Score: 50/100

Description

The ICOR for Life - AI Chat plugin adds a dedicated chat pane that runs AI conversations inside the vault while keeping the session tied to the note and selection you already have open. It can open multiple chat tabs, queue follow up turns, pin important prompts and let you mention notes, folders, tags or property groups as context. Conversations can move between the chat view and the companion terminal view without losing history and archived sessions can be reopened from notes stored in the vault. The plugin also shows tool activity in readable rows, surfaces agent participation and usage insights and renders structured replies as native cards and blocks. It requires desktop Obsidian 1.4.0 or newer and a signed in Claude Code CLI on the same machine.

Reviews

No reviews yet.

Stats

0
stars
342
downloads
0
forks
6
days
2
days
2
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
64
commits

RequirementsExperimental

  • Claude Code CLI installed and signed in on the same machine

Latest Version

2 days ago

Changelog

The install offer for a missing runtime now types the vendor command into a new ICOR for Life Terminal pane and waits for you to press Enter (the Terminal plugin 0.1.0 exposes newTerminalWithText). Without that plugin the command rides the clipboard as before. Nothing is ever run by the plugin itself.

README file from

Github

ICOR for Life - AI Chat

Your AI team, inside the vault. Open a conversation next to your notes, ask a question, and get an answer from a model that is already reading the room: it knows which note you have open and which lines you have selected, and it works from your vault's own instructions rather than from anything the plugin puts in its mouth.

The plugin is a window, not a second brain. Behaviour, identity and context rules live in your vault's CLAUDE.md, AGENTS.md and .claude/, which the Claude Code CLI reads natively from the working directory. ICOR for Life - AI Chat sends no system prompt of its own. There is exactly one exception and it is visible in settings: Structured replies, which is ON out of the box, appends a fixed format instruction so the answer comes back as ICOR cards, which the plugin then renders as native blocks instead of leaving as terminal text. It is the format the product is designed around, so it is the shape you get without opening settings at all. Turn it off and the plugin sends nothing of its own.

One option, not a lock-in. This panel is one way to talk to your team, not the only one, and the vault stays yours either way. Run Claude Code in a terminal, run it inside the Terminal plugin, or install any other plugin you like alongside this suite. Nothing here takes that away. That openness is a reason to build on Obsidian rather than something to work around.

Beta release. This plugin works and is in daily use in a real vault, but you will find rough edges. If something looks off, open an issue on this repo and it gets fixed fast.

What it does

  • A conversation per tab. Open as many as you want; each one is its own session and its own process. The robot in the ribbon starts one, and offers your recent conversations to pick up instead.
  • Continue in the terminal. The terminal icon in the pane header hands a Claude Code conversation to ICOR for Life - Terminal in the same pane, and the terminal's Back to chat brings it back with its history. One view holds a session at a time, so the two never write the same session file.
  • Context awareness. The composer shows a chip for the note you have open and the range you have selected, so what the team receives is what you can see. Dismiss the chip and nothing is attached.
  • Follow-ups ride the running turn. Type while the team works and press Enter: the message is queued and answered as the next turn, never an interruption. The well shows QUEUED until its turn begins. Stop is its own button, a click, and it only exists while a turn is running.
  • The vault is context. Type [[ or @ to mention any note, with a live preview of the highlighted note above the list. The + button adds the active note, any note, a folder, a tag or a property value; a folder, tag or property becomes one group chip with a count, and clicking it lists every note in the group.
  • Pinned prompts. The first prompt of a conversation stays pinned above the stream, folded to one line and unfolding on click. Pin any of your own messages from its corner; pins stack and survive a reopen.
  • Readable work. Tool rows say what was done, never the shell command: Read 04 Inner World/..., Edited ..., Ran <what it was for>. A row with something to show opens onto the raw command and the result body. Approvals never hide behind a chevron.
  • The team shows its face. In an ICOR for Life vault the strip above the composer shows every agent that worked this session, with its avatar and its share of the activity. The Insights tab charts tokens over time, sessions per day, the most used agents and tools, and lists every archived session. A vault without a team gets a one-click setup of the eight starter agents.
  • Structured replies. Cards, verdict rows, decision blocks with click-to- insert codes, file rows that open in Obsidian or reveal in Finder.
  • Subagents. When the team spawns a subagent you get a live chip, and its full transcript opens in its own tab.
  • Session archive. Every conversation can be written back into the vault as a readable folder with a manifest, so the record is yours and a session can be resumed from the folder alone.
  • Resume from the vault. An archived conversation note carries every session id the thread ever had. Right-click it, or run Resume this conversation with the AI team, and the chat reopens with that session loaded and its own history painted above the seam.

Requirements

  • Desktop Obsidian, 1.4.0 or newer. The plugin launches a local process, which mobile cannot do.
  • The Claude Code command line tool, installed and signed in on the same machine. This is the one that trips people up, so it has its own section.
  • Optional: the Codex CLI, installed and signed in with codex login, if you want Codex as a second runtime. See "Which account does this use?".

The Claude Code command line tool

ICOR for Life - AI Chat needs the Claude Code command line tool, which is a separate install from Anthropic. The Claude desktop app is not the same thing, and neither is claude.ai in a browser. Having either of those gives this plugin nothing to talk to.

The reason is simple: the plugin has no API key field and makes no network calls of its own. It finds the claude program already installed on your machine and runs it. If that program is not there, nothing happens, and that is far and away the most common reason a fresh install appears to do nothing.

1. Install it

macOS, Linux, WSL

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell

irm https://claude.ai/install.ps1 | iex

Other supported methods: brew install --cask claude-code on macOS, winget install Anthropic.ClaudeCode on Windows, or npm install -g @anthropic-ai/claude-code. Anthropic also publishes signed apt, dnf and apk repositories for Linux.

Anthropic's own setup page is the authority if these ever change: https://code.claude.com/docs/en/setup

2. Check that it worked

Open a terminal and run:

claude --version

A working install prints a version number followed by (Claude Code). If you get command not found, the command line tool is not installed yet, whatever else you may have from Anthropic. For a longer read-only diagnostic that does not start a session, run claude doctor.

3. Sign in

Run claude once in a terminal and follow the browser prompt.

Claude Code requires a Pro, Max, Team, Enterprise or Console account. The free Claude.ai plan does not include Claude Code access. You can also point Claude Code at a third-party API provider instead.

The plugin takes no part in any of this. There is nowhere in its settings to put a credential, and it never sees, stores or transmits one.

4. If it works in a terminal but not in Obsidian

This is the PATH trap, and it is expected rather than a bug. Obsidian launched from the Dock, the Start menu or a desktop icon never runs a login shell, so it starts with the operating system's bare default PATH. Every user-level install location is missing from it, and a claude that works perfectly in your terminal is invisible to the plugin.

The plugin already handles the ordinary case. Before it looks, it appends the usual install directories to PATH without reordering or dropping anything already there, so entries you put first keep their precedence:

  • macOS: /opt/homebrew/bin, /opt/homebrew/sbin, ~/.local/bin, ~/.claude/local, ~/.bun/bin, ~/.npm-global/bin, ~/.yarn/bin, ~/bin, /usr/local/bin, /usr/bin, /bin
  • Linux: the same list, plus /home/linuxbrew/.linuxbrew/bin
  • Windows: %LOCALAPPDATA%\Programs\claude, %APPDATA%\npm, ~\.local\bin, ~\.bun\bin

If your install lives somewhere else, two settings under Provider fix it:

  • Claude Code path. The executable itself, for example /usr/local/bin/claude. Leave it empty to search automatically. If you set it and it does not point at a file, the plugin tells you exactly that rather than failing vaguely.
  • Extra PATH entries. One directory per line, searched after your own PATH.

To find the value to type in, run which claude on macOS or Linux, or where claude on Windows.

When nothing is found at all, the plugin reports how many locations it searched and points you at the installer, rather than failing silently.

On Windows the plugin prefers claude.exe. The .cmd and .bat shims cannot be launched without a shell, so an install that provides only a shim is reported as that specific problem instead of a generic error.

Install commands and account requirements above were verified against Anthropic's published setup documentation on 30 August 2026. These change from time to time; the linked page is always the authority.

Which account does this use?

ICOR for Life - AI Chat has no login of its own. It never sees, stores or transmits a credential of any kind. It runs a command line tool that is already installed and signed in on your machine, and that tool uses whatever authentication you set up yourself, directly with its maker. The plugin neither knows nor cares which plan or key you picked.

Today that tool can be Claude Code, Codex, or any of four agents that speak the Agent Client Protocol. You choose per conversation, and only tools the plugin actually found on your machine are offered. A tool that is not found gets an Install button in settings and in the launcher: it puts the vendor's one-line install into a terminal pane (with the ICOR for Life - Terminal plugin) or onto the clipboard and opens the vendor's page. The plugin installs nothing itself; you press Enter, then Check again. A conversation belongs to the tool that had it: its session can be resumed by that tool alone, and handed to the other one only as a transcript to continue from, never as a resume.

Claude Code

A Claude subscription (Pro, Max) and an Anthropic API key both work, because that choice is made inside Claude Code and not here. The plugin neither knows nor cares which you picked.

Anthropic permits this. Their Claude Code legal page sets out the rule that third-party developers may not offer Claude.ai login or route requests through plan credentials, and then states that it "does not prevent an end user from signing in to the unmodified Claude Code binary with their own Claude subscription". This plugin ships no copy of Claude Code, modifies nothing, brokers no login and stores no token: you sign in to Anthropic's own CLI, in your own terminal, before the plugin is ever involved.

Two things stay yours:

  • Usage limits. Anthropic states that the advertised Pro and Max limits "assume ordinary, individual usage of Claude Code and the Agent SDK". This plugin makes heavy sessions easy: many tabs, subagents, long tool loops. Ordinary interactive work is what the plans are for. Leaving it running unattended in a loop is not, and that is the pattern that draws attention.
  • Terms change. This reflects Anthropic's published terms as of 30 August 2026. They can change them, and they reserve the right to enforce without prior notice. Their position on third-party tools moved more than once during 2026, so treat the date above as the point this was checked rather than a settled answer, and check again if you are relying on it.

If you would rather be billed per token than against a plan, configure an API key in Claude Code itself. Nothing changes here.

Codex

The plugin talks to the Codex CLI through the App Server that ships inside the codex binary, which OpenAI documents as the surface for third-party clients. Install the CLI, run codex login in a terminal (a ChatGPT plan or an API key, your choice, made inside Codex), and the plugin finds it. The settings tab says what it found: the path, the version, and whether Codex reports itself signed in. When it does not, the plugin says so and names the command; it never signs you in and has no field for a key or a token.

What the plugin does with Codex: it spawns your own unmodified install with the vault as its working directory, identifies itself to it by its own name, streams the replies, shows every command and file change as a row, and puts the approvals Codex raises in front of you. What it never does: call a login method, read Codex's credential files, set an API key or identity variable for the process, pool or rotate accounts, or retry around a usage limit. A limit stops the turn and tells you.

Codex reads your vault's AGENTS.md natively, so the team's rules carry over without a rewrite. The permission modes map onto Codex's own approval policy and sandbox, and the mode chip shows both names. Bypass means "never ask, full disk access" on Codex exactly as it does on Claude, and it is a per-conversation choice, never a saved default.

One honest limit, measured on 2026-09-04: in every mode but Bypass, Codex runs commands inside its own macOS sandbox, and that sandbox blocks open and the obsidian command line tool (the tool cannot reach the running app's socket). A Codex conversation can read and write your notes, but it cannot open one in Obsidian for you the way a Claude Code conversation can. The team says so when it happens rather than pretending. Whether a narrower sandbox rule can admit the socket is being probed.

Your data goes to OpenAI under your own ChatGPT or API terms, not through anything of ours. This reflects OpenAI's published Codex documentation and terms as of 4 September 2026; they can change without notice, so treat the date as the point this was checked.

Safety

  • Permission mode starts at Ask. Every tool call that wants a decision gets one, from you.
  • Bypass is never a saved default. It is a per-conversation choice, and the flag that skips permission checks is only ever set while you are explicitly in that mode.
  • Sessions are read scoped to this vault. The plugin does not enumerate work from your other projects.

Settings

Plumbing only, by design: executable path, model, reasoning effort, default permission mode, archive folder and retention, structured replies, vault layout. There is no prompt box and no context policy, because the vault already has one. The only default worth naming: Structured replies is on, and it is the only setting that changes what the team is told.

Install

Copy main.js, manifest.json and styles.css into .obsidian/plugins/icor-for-life-chat/ and enable the plugin.

Development

npm install      # pins the Agent SDK exactly; it is pre-1.0
npm run dev      # esbuild watch
npm run gate     # typecheck, production build, lint, tests

npm run gate is the bar for a commit. The suite protects the behaviours that bite in the wild rather than the ones that are easy to assert: PATH for a GUI-launched Obsidian, an abort that leaves no orphaned process and no hung promise, a tool whose input arrives in fragments rendering once instead of repeatedly half-formed, a result that arrives before its own call, and unknown SDK message types passing through without throwing.

One test in the suite is not about behaviour at all. test/computed-style.test.mjs launches headless Chrome, mounts the shipped view components under a reproduction of both hosts this plugin renders inside - Obsidian's own app.css and the ICOR for Life - INKLINE theme - and reads getComputedStyle. It exists because the failure it guards is invisible to every other kind of test: a host rule like button:not(.clickable-icon) computes to (0,1,1) and outranks a plugin rule stated by a single class, so the send pill, the badge, the chips and the code chip render in theme chrome while the stylesheet still reads exactly as authored. The host fixture paints in sentinel colours that appear nowhere in the design system, and the gate's last assertion sweeps EVERY element under .aic-root - so the control nobody thought to enumerate is covered too. It also measures the contrast ratios the design system fixes, from real pixels, in all four rooms.

It needs a Chrome or Chromium binary. It finds one on the usual paths, or set CHROME_BIN. It does not skip when it cannot find one; a gate whose passing state is reachable without the thing being true is worse than no gate.

test/turn-render.test.mjs uses the same headless browser for a different claim: one assistant turn renders exactly ONE message node. It replays test/fixtures/recorded-turn.json, verbatim CLI wire traffic recorded by tools/frames-entry.ts, because the defect it guards lives in a disagreement between two frame kinds about what a content block's index means, and a hand-typed sequence would only ever agree with whichever one its author had in mind. The census counts nodes rather than hunting for the unstyled one: an assertion that no raw block is visible is satisfied by hiding a node, and a hidden node leaves the thing that produced it alive.

For developers

docs/architecture.md is the map: the event spine, the Provider seam, context, the reply action registry, the AI team layer, the style contract, the stream discipline and the extension points.

ICOR for Life Obsidian Edition

ICOR for Life - AI Chat is the AI surface of the ICOR for Life Obsidian Edition: ICOR (Input, Control, Output, Refine), the productivity methodology by Paperless Movement / myICOR, implemented as a ready-to-use Obsidian vault. Best to be used in combination with:

  • ICOR for Life - INKLINE theme, the hand-drawn ICOR look every surface of the Edition is designed against. It is one of the two hosts the shipped style gate measures this plugin against, so cards, tool rows and decision blocks hold their shape in ink and paper mode alike.
  • ICOR for Life - Planner, the weekly planning board: Todoist, ClickUp, starred email and Google Calendar synced into the vault, planned by drag and drop. Talk a week through here, run it there.
  • ICOR for Life - Focus, the gravity map of your vault: what you touched today sits close, older work ripples outward.
  • ICOR for Life - Connect, your app.myicor.com account inside the vault: the ICOR Journey courses from myicor.com next to your notes.
  • ICOR for Life - Diagrams, a fullscreen viewer with zoom and pan for the mermaid diagrams in your notes, including the ones this plugin drafts.

The complete, preconfigured experience ships free at https://myicor.com

License

What you can do: install it, run it, read the code, modify your own copy, and use it in your own business. What you cannot do: sell it, redistribute it, or offer it (original or modified) as your own product or service to others. Contributions: send a pull request. See CONTRIBUTING.md; submitting one grants Paperless Movement the rights described in Section 7 of the LICENSE. This is not open source. It is source-available: the code is visible, personal and business use are free, resale and republishing are not. Bundled third-party components keep their own licenses; see THIRD-PARTY-NOTICES.md.

Full text in LICENSE. Machine-readable identifier: LicenseRef-ICOR-Source-Available-1.0.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Claudian
2 months ago by Yishen Tu
An Obsidian plugin that embeds Claude Code/Codex as an AI collaborator in your vault
Agent Client
4 months ago by rait-09
Bring AI agents into Obsidian via Agent Client Protocol (ACP), such as Claude Code, Codex and Gemini CLI.
Note Companion
3 months ago by nexus-jpf
Note Companion: AI assistant for Obsidian that goes beyond just a chat. (prev File Organizer 2000)
Personal Assistant
3 months ago by edonyzpc
A plugin that harnesses AI agents and streamlining techniques to help you automatically manage Obsidian.
Local LLM Hub
a month ago by TAKESHI MORITA
All-in-one local AI hub for Obsidian — LLM chat with vault tools, MCP servers, RAG, workflow automation, encryption, and edit history. Fully private, no cloud required.
Neural Composer
2 months ago by Oscar Campo
AI-Powered Graph Memory for Obsidian
Codex Panel
2 months ago by murashit
Codex in your sidebar. ChatGPT Work for your Obsidian vault.
Workbuddian
a month ago by jiang198012
Obsidian 插件:把本地 CodeBuddy CLI 或 Hermes agent 变成 vault 内 AI 聊天——流式回复、@引用、双后端切换。Obsidian plugin turning local CodeBuddy CLI or Hermes agent into an in-vault AI chat with streaming, @-references, and dual backends.
Sidet
a month ago by Jiao Yingxing
An easy-to-use AI chat plugin for Obsidian with side browsing, focused conversations, and vault-aware knowledge capture.
Codian
a month ago by bcs
Open-source Obsidian plugin for local coding agents
Role Switch
6 months ago by Zafrem
This program is a tool that recognizes and makes task switching easier, even though multitasking is difficult.
WorkBuddy
18 days ago by Jason
obsidian plugin for workbuddy
DeepSeek Harness Native
19 days ago by wuruihi
Obsidian 侧边栏内驱动本地 DeepSeek Harness (DSH) Web GUI,支持 vault 双向桥接与 DSH 服务自动管理。