Claude Code
already knows which file you are looking at.

An agent in a terminal knows its working directory. It does not know which of the four hundred files under that directory you are actually staring at — so you paste the path, every session, forever. Linelark installs a hook that removes that step.

Studio 1.4.0 · macOS 14+6.5 MB download

How the integration is installed, and what it writes.

Terminal ▸ Set Up Claude Code Integration… asks first, because it writes into ~/.claude — your own global agent configuration, not application state Linelark owns.

01

An environment variable alone would do nothing

The terminal panel already exports Linelark_FILE into every shell. But an agent does not go looking through the environment for things, so on its own the variable is inert.

02

A SessionStart hook is what delivers it

Claude Code runs the hook at the start of a session and injects whatever it prints as additionalContext. That is the mechanism; the variable is only the input to it.

03

It writes two files, both yours

A hooks/Linelark-context.sh script and an entry in settings.json, both under ~/.claude. Nothing is written anywhere else and nothing runs before you agree to it.

04

Plain bash, on purpose

The hook runs before every Claude Code session on your machine, so it must not depend on a language runtime being installed and happens to be a few lines of shell.

05

Malformed settings are left untouched

If ~/.claude/settings.json is not valid JSON, the installer reports that and changes nothing rather than overwriting a file it could not parse.

06

Installing twice is safe

It reports that the hook is already installed rather than appending a second copy.

What ends up on disk.

Everything the integration touches, so you can inspect or remove it by hand.

PathWhat it is
~/.claude/hooks/Linelark-context.shThe hook script. A few lines of bash that print the current file path as JSON.
~/.claude/settings.jsonGains a SessionStart hook entry pointing at that script. Existing settings are preserved.
Linelark_FILEExported into every shell the terminal panel starts; the hook reads it.

Read from the Linelark Studio 1.4.0 source, not from its documentation. Where the two disagree, this is the one that ships.

What this is and is not.

It is one small mechanism, and overselling it would be easy. Here is its actual shape.

  • It shares a path, not the bufferThe agent is told which file you are on and reads it from disk itself. Unsaved edits in the tab are not part of what it sees.
  • Studio onlyIt depends on the terminal panel, which the sandboxed App Store edition does not have.
  • It writes to your global Claude configurationNot to a project directory. That is why it asks first, and why the menu item says what it is about to do.
  • Set at spawn, like the variable it readsA shell that is already open does not learn about a file you switch to afterwards. New tab, new shell, new value.
  • It is not an agent integration beyond thisThere is no in-editor chat, no diff-apply flow and no tool surface. Claude Code runs in the terminal exactly as it does anywhere else, one step better informed.

Open it on
your own files.

Apple-notarized, macOS 14 and newer, Intel and Apple silicon.

Choose a release 6.5 MB · versioned checksums on the download page