Documentation

How to use Lana

Lana is an AI coding agent that lives in your terminal. You tell it what you want in plain language, and it reads your code, makes changes and runs commands to get the job done. This guide walks you through everything you need, from installing Lana to the commands you will use every day.

Install

Lana runs on macOS (Apple Silicon or Intel), Linux and Windows. You need Node.js 22 or newer, which also gives you npm.

$ npm install -g @uselana/cli

To check it worked, run lana --version. You should see a version number.

Not sure which Node.js version you have? Run node --version. If it starts with a number lower than 22, update Node.js from nodejs.org first.

Sign in

Lana is invite only during the beta, so make sure you have requested an invite first. Then sign in with the Google account you used for your invite.

$ lana login

Your browser opens so you can sign in. When you are done, head back to your terminal and you are ready to go.

If the browser can't connect back to your terminal, for example when you are working on a remote server, use manual sign-in instead. Lana shows you a one-time code in the browser, and you paste it into the terminal. The code expires after five minutes, so keep it private and use it straight away.

$ lana login --manual

To sign out on this computer, run lana logout.

Your first session

Open your terminal in the project you want to work on and start Lana.

$ cd your-project
$ lana

Lana opens a chat in your terminal. Type what you want, press Enter, and watch it work. You can also give it a task right away by putting your request in quotes:

$ lana "explain how authentication works in this project"

A few things you can ask for to get a feel for it:

  • "Find out why the checkout tests are failing and fix them."
  • "Add a dark mode toggle to the settings page."
  • "Explain what this repository does and how it is organised."
  • "Write unit tests for the payment service."

Inside a session

Once Lana is running, you talk to it the same way you would talk to a teammate. Be specific about what you want and mention any files or rules that matter.

Point Lana at a file
Type @ followed by a file name to mention a file, so Lana knows exactly where to look.
Approve what it does
Before Lana runs a command or edits something outside your project, it asks for your permission. You stay in control of what happens on your machine. Use /permissions to change how often it asks.
Stop it mid-task
Press Esc to interrupt Lana if it is heading in the wrong direction, then tell it what to do instead.
Plan before changing code
For bigger tasks, type /plan so Lana agrees an approach with you before it touches any code.
Check its work
Type /diff to see every change Lana has made, including new files.

Slash commands

Inside a session, type / to see the full list of commands. These are the ones you will reach for most often.

CommandWhat it does
/modelChoose which model Lana uses and how hard it thinks.
/planSwitch to plan mode so Lana works out an approach with you first.
/reviewReview your current changes and point out problems.
/diffShow all the changes in your project, including new files.
/mentionPick a file to add to the conversation.
/permissionsChoose what Lana is allowed to do without asking.
/newStart a fresh chat without leaving Lana.
/compactSummarise a long conversation so Lana can keep going.
/resumeOpen a chat you saved earlier.
/forkCopy the current chat so you can try a different idea.
/copyCopy Lana's last reply.
/initCreate an AGENTS.md file with instructions for your project.
/statusShow your current settings and how many tokens this session has used.
/usageShow your usage for the month.
/accountShow who you are signed in as, your workspace and your access.
/workspaceSwitch between your personal account and a team.
/quitLeave Lana.

Run a task without the chat

Sometimes you just want Lana to do one thing and finish, for example in a script or a CI job. lana exec does exactly that. It works through the task, prints what it did and exits.

$ lana exec "update the README with the new setup steps"

You can also pipe text into it. Lana adds whatever you pipe in to your request, so it can work with logs, diffs or any other output:

$ git diff | lana exec "summarise these changes"
  • -o, --output-last-message <file> saves Lana's final answer to a file.
  • --json prints every step as JSON, which is handy for tools and scripts.
  • --skip-git-repo-check lets Lana run in a folder that isn't a Git repository.

Review your code

lana review reads your changes like a careful reviewer would and tells you about bugs, risks and things worth a second look. It is a great habit before you open a pull request.

CommandWhat it reviews
lana review --uncommittedEverything you have changed but not committed yet.
lana review --base mainYour branch compared with main.
lana review --commit <sha>One specific commit.
lana review "focus on error handling"Your changes, with extra attention on what you ask for.

Inside a session, /review does the same thing without leaving the chat.

Come back to earlier work

Lana saves your chats, so you can pick up right where you stopped.

CommandWhat it does
lana resumeShows your recent chats in this folder so you can pick one.
lana resume --lastJumps straight back into your most recent chat.
lana resume --allShows chats from every folder, not just this one.
lana fork --last "try another approach"Copies your last chat into a new one, so you can explore a different idea and keep the original.
lana archive <name>Hides a chat from the list. Bring it back with lana unarchive <name>.
lana delete <name>Deletes a chat for good.

Your account

CommandWhat it does
lana accountShows your account, your workspace and how much credit you have left.
lana usageShows how much you have used this month and any spending limits.
lana billingOpens your plan and payment details in the browser.
lana org listLists your personal account and any teams you belong to.
lana org useChooses which account new sessions are charged to.
lana org acceptAccepts an invitation to join a team.
lana logoutSigns you out on this computer.

Useful options

You can add these to lana, lana exec and most other commands.

OptionWhat it does
-m, --model <model>Uses a specific model for this run. Type /model in a session to see what is available.
-C, --cd <folder>Runs Lana in a different folder without changing directory first.
-i, --image <file>Attaches an image, such as a screenshot of an error, to your first message.
-s, --sandbox <mode>Sets what Lana's commands can touch: read-only, workspace-write or danger-full-access.
-a, --ask-for-approval <policy>Sets when Lana asks before running commands: on-request or never.

Be careful with danger-full-access and never. They let Lana run commands anywhere on your machine without asking, so only use them somewhere safe, like a throwaway container.

To see every option for a command, add --help, for example lana exec --help.

Project instructions

If your project has rules Lana should always follow, such as how to run tests or which style to use, write them in a file called AGENTS.md at the root of your project. Lana reads it at the start of every session.

The quickest way to create one is to type /init inside a session. Lana looks around your project and writes a first draft for you to edit.

Updates and health checks

CommandWhat it does
lana updateUpdates Lana to the newest version. Lana also tells you when an update is available.
lana doctorChecks your installation, settings and sign-in, and tells you what needs fixing. Add --summary for a shorter report.
lana --versionShows which version you have.

Troubleshooting

Lana says my access is pending
Your invite hasn't been approved yet. Make sure you signed in with the same Google account you used to request your invite. We'll email you as soon as you are approved.
lana: command not found
Your terminal can't find Lana yet. Close and reopen your terminal, then try again. If it still fails, run npm install -g @uselana/cli once more and check that npm's global folder is on your PATH.
The install fails or complains about Node.js
Lana needs Node.js 22 or newer. Run node --version to check, and update Node.js if it is older.
Sign-in opens the browser but never finishes
Use lana login --manual and paste the one-time code from the browser into your terminal.
Lana says I need a plan or have run out of credit
Run lana billing to choose a plan or renew it in your browser. You can check what you have left with lana account.
Something else isn't working
Run lana doctor. It checks the most common problems and tells you how to fix them. If you are still stuck, get in touch and include what lana doctor --summary shows.

Get help

We would love to hear from you, whether something is broken or you have an idea that would make Lana better. Email us at support@getconvoy.io, and if you are setting Lana up for a team, book a call with us.