Quickstart
Latet does not have to change your agents’ settings for you to try it. First see it work on one session, with a made-up key; then turn it on for every session, when you are ready.
Try it without changing anything
Section titled “Try it without changing anything”-
Install Latet with the one-line installer: it installs the latest release from GitHub, and changes none of your agents’ settings. On macOS and Linux, open a new terminal first. Then download the models that find names and read the text in images, the recommended setup from day one:
latet ner installandlatet ocr install. -
See it at work. New to Latet?
latet tutorialshows it at work in about 30 minutes, in your browser: a pretend agent and a pretend model, the real Latet between them, and invented data. Nothing leaves your computer, and none of your settings change. See Tutorial. -
Make a canary. In a scratch folder, create a
.envfile with a made-up key:.env DEMO_API_KEY=demo_7Hq2LmX9pR4tV8nB3cK6 -
Start your agent through Latet, for this session only. In that folder:
Terminal window latet claude # Claude Code, with the plugin and the verify-only daemonlatet codex # or the Codex CLIlatet opencode # or OpenCode, API-key providerslatet gemini # or Gemini CLI, with an API key or Vertex AIThe wrapper starts the daemon and gives the agent what it needs for this session only. None of the agent’s settings change: when the session ends, the agent works as before. Every other argument passes through, as in
latet claude --resume.Then ask the agent: “Read
.envand copy the key intoconfig.local.json.” -
Check the result.
- Run
latet dashboardand open the latest request on the Live page. Where your.envcontent was, the provider received a fake of the same shape, for exampledemo_9Tz6ZsM0aB8uA6vS8gA0, labelledASSIGNED_SECRET. Your fake will differ: surrogates are derived from a key created on your machine. config.local.jsonon disk contains the real key,demo_7Hq2LmX9pR4tV8nB3cK6, because Latet put it back locally before the agent’s tool wrote the file.- The agent’s answer on your screen shows the real key as well. One exception: in Claude Code’s
print mode (
claude -p) the printed answer keeps the fake. See Claude Code.
- Run
claude started on its own does not go through Latet: only the wrapper does, until you run
latet global-install.
Turn it on for every session
Section titled “Turn it on for every session”-
Route your agents through Latet for good.
Terminal window latet global-installIt shows everything it would change, then asks once:
- Each agent it finds (Claude Code, Codex, OpenCode), routed through Latet: the Latet plugin in every Claude Code session, the others pointed at the local daemon. Each one’s settings are backed up first.
- Start at login: the daemon starts when you log in.
- Profile:
balanced, or the one you set, and the countries whose national ID and tax numbers it recognises: your own country, when it is one of the 15 Latet knows, with the United States and the UK; otherwise Italy, the United States and the UK. VAT numbers are recognised for the 27 EU countries, the United Kingdom, Switzerland and Norway. See Profiles and policies. - Your identity: your OS user names, your host name and your git author, masked. Latet detects them each time it starts, so a new git email is masked too.
- Auto mode reviewer: your OS user name and paths, which no plugin can mask, stay local when Claude Code’s auto mode asks its reviewer; auto mode then cannot approve actions by itself. The dashboard’s Rules page can let them through one by one.
- Names and addresses: the local model that finds names and street addresses (about
1.6 GB), downloaded with
--nerif you have not downloaded it yet. - Text in images: the text recognition models (about 31 MB), downloaded with
--ocrif you have not downloaded them yet. - Port: the port the daemon listens on: 5283, or a free one next to it if another program uses it (your agents follow).
It also says how to take it all away:
latet global-uninstall. Options change the defaults, such as--agents claude --no-autostart;--yesapplies it without asking. -
Restart your agents so they pick up the new configuration. From now on every session goes through Latet, in the terminal and in the IDE.
-
Check that everything is wired up.
Terminal window latet doctorOn a working setup every line starts with
OK:[OK ] Daemon: running on 127.0.0.1:5283, masking[OK ] Plugin bridge: token accepted[OK ] Start at login: installed[OK ] Masking self-test: 3 values masked and restored (balanced profile)[OK ] Claude Code: 2.1.291 (Claude Code) - appliedA
WARNorFAILline names the command that fixes it.
latet agents apply codex (or claude, opencode) routes one agent: run it for an agent you
install later. Without a name, it routes every one that is installed.
latet global-install sets up Claude Code, Codex and OpenCode. The other tools keep Latet’s address
in one of these other ways:
| How | Tools | How long |
|---|---|---|
latet global-install sets it up |
Claude Code, Codex, OpenCode | For good |
| You set it once, in the tool’s own settings | GitHub Copilot in VS Code and JetBrains IDEs, Junie CLI, JetBrains AI Assistant, Zed, Cline, Kilo Code, Continue, Crush, Android Studio, Hermes Agent, OpenClaw, Goose, OpenHands | For good, while those settings say so; a project’s own settings can point Kilo Code, Junie CLI or Continue elsewhere |
| Environment variables only | Gemini CLI, Qwen Code, Aider, your scripts and SDKs | For each command you start with latet run, or for a shell with latet env |
| You set its variables in your shell | The GitHub Copilot CLI (COPILOT_PROVIDER_BASE_URL and the others) |
For each shell that sets them |
Gemini CLI is not available in global mode. Start it with latet gemini: it reads its address
only from the environment and from one .env file, and a project’s own .env would hide a setting
made for good, without a word. See Gemini CLI and Google GenAI.
For your own scripts and SDKs, latet run sets OPENAI_BASE_URL, ANTHROPIC_BASE_URL and
GOOGLE_GEMINI_BASE_URL for one command: latet run python report.py. See
OpenAI-compatible & OpenRouter. Autonomous agents such as
Hermes Agent and OpenClaw take Latet’s address in their own settings: see
Autonomous agents. So do GitHub Copilot, JetBrains’ Junie and AI
Assistant, Zed, Cline, Continue and other tools: see
GitHub Copilot, JetBrains, Zed and other tools.
Undo everything
Section titled “Undo everything”latet global-uninstallIt reverts every agent, byte for byte, removes the start at login and stops the daemon. Your
rules stay in config.yaml, for latet claude. Tools you pointed at Latet in their own settings
keep its address: put theirs back. See Uninstall.
Next steps
Section titled “Next steps”- How it works: what happens to the key, step by step.
- What is and isn’t protected: know the limits before you rely on it.
- Projects: a
latet.yamlwith a project’s own terms and formats, shared through its repository. - Production data: for agents that read databases and logs.
- Local reviewer: a language model of yours that reads every text before it leaves.
- Agent guides: Claude Code, Codex, OpenCode, autonomous agents, OpenAI-compatible and OpenRouter, GitHub Copilot, JetBrains, Zed and other tools.
© 2026 Emanuele Casabona · VAT IT02293040990 · Privacy policy · Legal notice · latet.ai