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
/permissionsto 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
/planso Lana agrees an approach with you before it touches any code. - Check its work
- Type
/diffto 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.
| Command | What it does |
|---|---|
/model | Choose which model Lana uses and how hard it thinks. |
/plan | Switch to plan mode so Lana works out an approach with you first. |
/review | Review your current changes and point out problems. |
/diff | Show all the changes in your project, including new files. |
/mention | Pick a file to add to the conversation. |
/permissions | Choose what Lana is allowed to do without asking. |
/new | Start a fresh chat without leaving Lana. |
/compact | Summarise a long conversation so Lana can keep going. |
/resume | Open a chat you saved earlier. |
/fork | Copy the current chat so you can try a different idea. |
/copy | Copy Lana's last reply. |
/init | Create an AGENTS.md file with instructions for your project. |
/status | Show your current settings and how many tokens this session has used. |
/usage | Show your usage for the month. |
/account | Show who you are signed in as, your workspace and your access. |
/workspace | Switch between your personal account and a team. |
/quit | Leave 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.--jsonprints every step as JSON, which is handy for tools and scripts.--skip-git-repo-checklets 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.
| Command | What it reviews |
|---|---|
lana review --uncommitted | Everything you have changed but not committed yet. |
lana review --base main | Your 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.
| Command | What it does |
|---|---|
lana resume | Shows your recent chats in this folder so you can pick one. |
lana resume --last | Jumps straight back into your most recent chat. |
lana resume --all | Shows 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
| Command | What it does |
|---|---|
lana account | Shows your account, your workspace and how much credit you have left. |
lana usage | Shows how much you have used this month and any spending limits. |
lana billing | Opens your plan and payment details in the browser. |
lana org list | Lists your personal account and any teams you belong to. |
lana org use | Chooses which account new sessions are charged to. |
lana org accept | Accepts an invitation to join a team. |
lana logout | Signs you out on this computer. |
Useful options
You can add these to lana, lana exec and most other commands.
| Option | What 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
| Command | What it does |
|---|---|
lana update | Updates Lana to the newest version. Lana also tells you when an update is available. |
lana doctor | Checks your installation, settings and sign-in, and tells you what needs fixing. Add --summary for a shorter report. |
lana --version | Shows 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/clionce more and check thatnpm's global folder is on yourPATH. - The install fails or complains about Node.js
- Lana needs Node.js 22 or newer. Run
node --versionto check, and update Node.js if it is older. - Sign-in opens the browser but never finishes
- Use
lana login --manualand 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 billingto choose a plan or renew it in your browser. You can check what you have left withlana 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 whatlana doctor --summaryshows.
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.