Introduction
NOVA CLI is an AI developer that lives in your terminal. Tell it what you want in plain English. It reads your project, does the work, checks it with your project's own tests, and tells you honestly what happened.
What NOVA does
NOVA does the whole job, not just a suggestion. Point it at a project and ask for something:
- Fix bugs. Describe what's wrong, paste an error, or point at a failing test.
- Build things. Websites, multi-page apps, dashboards, scripts and more, from a sentence.
- Change existing work. NOVA finds and reads the files itself. You don't paste anything in.
- Understand code. Ask how something works, where it's used, or what a change could break.
- Test and review. Add tests, fix failing ones, or get a review of your changes.
- Make documents. Create designed PDFs and slide decks.
- Work with data. Analyse a spreadsheet or data file, or build a dashboard or forecast from it.
- Ship. Check what changed, commit and push without leaving NOVA.
How NOVA keeps you in control
- You choose how much it can do alone. Five permission modes go from "only propose a plan" to "work freely".
- Some things always ask. Deleting files, installing software, committing, pushing, deploying and opening files with passwords or keys always need your yes.
- It checks its own work. After a change, NOVA runs your project's tests, build and checks, and gives one clear result. It never reports a pass when no check ran.
- It keeps a record. Every change comes with a plain-English record of what changed and what was checked.
- You can undo.
\undorolls back the last change in one step.
NOVA CLI is in beta
NOVA CLI is live in beta and included on every plan, including Free. See Plans & Pricing.
Where to start
| If you want to… | Go to |
|---|---|
| Install NOVA | Installation |
| Try it in five minutes | Quickstart |
| See everyday examples | Common Workflows |
| Look up a command | Shell Commands |
\undo. Anything else you type is a request for NOVA.Installation
Install NOVA with one command. The installer brings everything NOVA needs, checks every file it downloads, and keeps NOVA up to date. You don't need administrator rights.
Before you begin
You need:
- A 64-bit Windows, macOS or Linux computer.
- A terminal: PowerShell on Windows, or Terminal on macOS and Linux.
- A NOVA account to sign in with.
You don't need Python for the one-line installer. It brings its own.
Install on macOS or Linux
- Open Terminal.
- Run:
3. Open a new terminal window so the nova command is found.
Install on Windows
- Open PowerShell.
- Run:
3. Open a new PowerShell window so the nova command is found.
Install with pip or pipx
If you prefer to manage NOVA yourself, it's on PyPI. You need Python 3.10 or newer.
pip install nova-bridgeye
# To keep NOVA separate from your other Python packages, use pipx:
pipx install nova-bridgeye
nova-bridgeye. bridgeye-nova (the other way round) is not NOVA.Check your install
nova doctor
nova doctor checks that you're signed in, that everything NOVA needs is present, and that your skills loaded. If something's wrong, it tells you what to fix.
Add Git (optional)
NOVA works without Git. You only need it for version-control actions such as \commit and \push. When you ask for one, NOVA tells you Git is missing and offers to install it. Or install it any time:
nova setup-git- Windows: installs Git for Windows. Windows may show an administrator prompt.
- macOS: uses Homebrew if you have it. Otherwise, type
gitin Terminal and macOS offers to install it. - Linux: NOVA shows you the right command for your system to run yourself.
Turn on tab completion (optional)
Get completion for NOVA's commands in your shell:
nova completion bash # or zsh, or fishAdd the output to your shell's startup file.
Quickstart
Go from zero to your first finished change in a few minutes.
Install NOVA
On macOS or Linux:
curl -LsSf https://nova.bridgeye.com/install.sh | shOn Windows (PowerShell):
irm https://nova.bridgeye.com/install.ps1 | iexThen open a new terminal.
Sign in
nova loginYour browser opens so you can approve the sign-in. When it's done, NOVA says "Login successful! Session saved."
Open your project
Go to the folder you want to work in and start NOVA:
cd my-project
novaThe header shows your account, the folder, and your credits for today.
Ask for something
Type a request in plain English and press Enter:
NOVA reads the files it needs and shows its plan as a live checklist. In the default mode, it asks before each edit and command.
Check the result
When NOVA finishes, it runs your project's checks and gives the task a result, such as PASS. It also prints a short record of what changed.
Leave, and come back later
Type \exit, or press Ctrl+C twice. Your session is saved. Pick it up later from the same folder:
nova resumeWhat's next
- Everyday examples: Common Workflows
- How much NOVA does on its own: Permissions
- Every command: Shell Commands, or type
\commandsin NOVA
Common Workflows
Real examples of what to type for the things people do most. Copy one, change the details, and go.
Paste the error message if you have one. NOVA finds the cause, fixes it, and runs your checks.
\run scripts/report.pyIf the script crashes, NOVA reads the error, fixes the cause, and runs it again. See AI Healing.
\trace calculateTotal\impact src/billing/invoice.py\testing Add tests for the date helpers\test\mode planHappy with the plan? Switch back with \mode ask and tell NOVA to go ahead.
NOVA asks one question first: a single page, or a full multi-page project? When it's done, it can start the site so you can see it.
Attach a screenshot or design with @ and describe what you want:
NOVA asks what kind of output you want, then does the analysis on your computer.
nova resumenova -p "Fix the lint errors" --permission-mode acceptEditsSee Headless Mode.
Plans & Pricing
NOVA has four plans. Every plan includes NOVA CLI and a daily credit allowance, including the Free plan.
Plans at a glance
| Plan | Price | Credits | Best for |
|---|---|---|---|
| Free | … | … | Trying NOVA on small repos and daily fixes |
| Starter | … | … | Developers |
| Pro | … | … | Heavy daily use, bigger repos and faster iteration cycles |
| Max | … | … | Active personal projects and consistent usage |
What's included
| Feature | Free | Starter | Pro | Max |
|---|---|---|---|---|
| NOVA CLI access | ✓ | ✓ | ✓ | ✓ |
| AI Healing | ✓ | ✓ | ✓ | ✓ |
| Multi-file app builds | ✓ | ✓ | ✓ | ✓ |
| PDF, DOCX & PPT generation | ✓ | ✓ | ✓ | ✓ |
| HTML & Streamlit dashboards | ✓ | ✓ | ✓ | ✓ |
| Custom domains | ✓ | ✓ | ✓ | ✓ |
| Active projects | 2 | 5 | Unlimited | Unlimited |
| AI edits per project | 10 | 25 | Unlimited | Unlimited |
| GitHub integration | – | – | ✓ | ✓ |
Monthly or yearly
You can pay monthly or yearly. Yearly billing saves about 17%.
Choose or change your plan
- Go to runnova.ai/pricing.
- Pick a plan and select Get started.
- Back in NOVA, run
\usageto see your new plan.
Note: Prices and plans can change. The pricing page always has the latest.
Credits & Usage
NOVA uses your plan's daily credits as it works. Here's how to see what you have, and what happens when you run out.
See your credits
\usage
# From your terminal:
nova usage
You'll see your plan, your credits, your account, and how much the current session has used. The header at the top of NOVA also shows your credits.
When you run out
If your credits for the day are used up, NOVA says:
You're out of credits for today.Your credits refresh daily. If you need more, upgrade on the pricing page.
In a script (nova -p), running out of credits ends the run with exit code 4.
Features and models on your plan
If you ask for something your plan doesn't include, NOVA tells you and links to the pricing page. Models your plan doesn't include are shown as locked in the model list, with the plan that unlocks them.
Use credits wisely
- Be specific. "Fix the empty-title crash in the Save button" costs less than "fix the app".
- Plan first for big jobs with
\mode plan, then build once you agree. - Split large tasks into smaller ones.
Interactive Mode
Run nova in a project folder to open an interactive session. You chat with NOVA, watch it work, approve what it wants to do, and use commands to steer.
Start a session
nova
NOVA works in the folder you start it in.
Requests and commands
Anything that starts with a backslash is a command. Everything else is a request:
Type \ to see matching commands with a short description of each. Keep typing to narrow the list. \commands (or \help) shows everything. If you type /reset or :reset out of habit, NOVA reminds you to use a backslash instead.
Point NOVA at files
You don't need to paste code. NOVA finds and reads files itself. To point at a specific file, use @:
What does @src/utils/dates.py do?- Press Tab after
@to complete file names. @on an image, PDF, video or audio file attaches the file itself, so NOVA can look at it.- You can also drag a file into the terminal.
While NOVA works
- A live checklist shows what NOVA has done, what it's doing, and what's left.
- It asks when it's unsure. If your request could mean two different jobs, NOVA asks which one you meant.
- Stop or redirect. Press Esc to stop. Type a correction, such as "use Postgres, not SQLite", and NOVA carries on from there. Anything already written is kept.
- It can read web pages. Give NOVA a link and it reads the page instead of answering from memory.
How a task ends
When NOVA changes files, it runs your project's checks and shows a result such as PASS, followed by a short record of what changed. See Checks & Results.
Useful session commands
| Command | What it does |
|---|---|
| \continue | Pick up the previous task where it stopped. |
| \reset | Start a fresh conversation. |
| \clear | Clear the screen. |
| \compact / \general | Short or full header. |
| \exit | Leave NOVA. Your session is saved. |
Permissions
Permission modes decide what NOVA may do without asking you first. Pick the level that fits the job, and change it any time.
The five modes
| Mode | Edits files | Runs commands |
|---|---|---|
| plan | Never. It only proposes a plan. | Never |
| ask (default) | Asks first | Asks first |
| edits | Yes | Asks first |
| overdrive | Yes | Yes. Still asks before writing outside the project. |
| auto | Yes | Yes, including outside the project |
Change the mode
Inside NOVA:
Type \mode on its own to see the current mode. Or press Shift+Tab to cycle through ask → edits → auto.
For a one-off run from a script:
In settings and with nova -p, the edits mode is written acceptEdits.
To set a default for a project, see Settings.
What always asks
In every mode, NOVA stops and asks before it:
- deletes files
- installs software onto your computer
- commits or pushes with Git, or rewrites history
- deploys
- opens files that hold secrets, such as
.env
In plan mode, these are refused.
Note: auto mode needs NOVA to save undo checkpoints in your project. If it can't, NOVA tells you and suggests edits instead.
Answering a request
When NOVA asks, it shows exactly what it wants to do. Before you say yes:
- Read the command or file paths.
- Check nothing unrelated is included.
- Approve only what you intended. If in doubt, say no and narrow the task.
If you choose "allow always", NOVA remembers it for this project on this computer only.
Allow and deny lists
You can pre-approve or always block specific commands in Settings:
{
"permission": {
"allow": ["git status", "pytest*"],
"deny": ["rm*"]
}
}A deny always wins over an allow.
Checks & Results
After a task that changes files, NOVA runs your project's own checks and tells you plainly what they said. A pass means a real check ran and passed.
The results
| Result | What it means |
|---|---|
| PASS | NOVA's checks ran and passed. |
| FAIL | A required check failed. The work isn't done yet. |
| BLOCKED | A check couldn't run, for example because a tool is missing. |
| SKIPPED | Checks were skipped on purpose, and the reasons are recorded. |
| UNVERIFIED | NOVA didn't run a check of its own, so it makes no claim either way. |
Which checks run
NOVA looks at your project and finds its test, build, lint and type-check commands. It runs the ones your changes need. You can also run them yourself:
\lint # linter
\typecheck # type checker
\check # build, type check, lint and test, stopping at the first failure
If NOVA can't find your commands, set them in Settings, for example verify.test.
NOVA's record
A task that changed something ends with NOVA's record:
- which files changed
- NOVA's check result
- commands the AI ran on its own (listed separately, because they aren't NOVA's checks)
- anything that failed
The record comes from what actually happened, not from the AI's own summary.
UNVERIFIED is not FAIL
UNVERIFIED usually means NOVA didn't recognise how to check your project, often because there's no package.json, pyproject.toml or similar file. The work may be completely right. To find out more:
nova verifyIt explains why nothing ran. Then run your own tests.
Handoff notes
Each task that changes files also saves a readable handoff note in .nova/receipts/ in your project. It lists what changed, which checks ran, and which didn't and why (under Not checked). Print one any time:
nova handoff --save # also save it
Stale results
A result only counts while the code it checked is unchanged. If files change afterwards, for example when you resume a session a day later, NOVA shows an old pass as stale rather than current.
AI Healing
When something breaks, NOVA doesn't just report it. It finds the cause, fixes it, and checks again. AI Healing is included on every plan.
Run and heal
Run a file or a command through NOVA:
\run node server.js
- NOVA installs any missing packages the file needs.
- It runs the file.
- If it crashes, NOVA reads the error, finds the line that caused it, fixes it, and runs it again.
\run works with Python, JavaScript, R and many other languages. It also works from your terminal:
Run the whole project
\runWith nothing after it, NOVA works out what your project is and starts it. For example, it starts a web app or dashboard and opens it in your browser.
Fixing failed checks
When one of your project's checks fails after a change, NOVA diagnoses the problem, patches it, and runs the check again. If it still can't get a clean result, it tells you honestly instead of claiming success.
Fix what NOVA left alone
Sometimes you ask NOVA to change only part of a project, and it notices problems elsewhere. It reports them but leaves them alone. To fix them too:
\fixStay in control
Healing follows your permission mode. In the default ask mode, NOVA asks before applying a fix or installing a package.
Undo & Diff
See exactly what NOVA changed, and roll it back in one step if you don't like it.
See what changed
Shows the changes from the current task.
Undo the last change
Reverts the files NOVA changed in its last task. Your own changes are left alone.
\undo when you want the changes gone.Check your repository
If you use Git:
Shows what's changed, what's staged, and where your branch stands.
Memory
NOVA can remember your rules, preferences and decisions, so you only say them once. You can see, correct and delete anything it remembers.
Tell NOVA to remember something
NOVA tells you where the note landed:
| NOVA says | What it means |
|---|---|
| "a standing instruction for this folder, sent on every turn" | Applied to every request in this project. |
| "a standing preference, on every project" | Applied everywhere. |
| "Noted as a decision for this project." | Kept, and used when relevant. |
| "Still deciding…" | Check again in a moment with \memory. |
See what NOVA remembers
\memory project # this project only
\memory global # what applies to every project
Each entry shows whether it's sent to NOVA on every turn, or only read when NOVA searches its memory.
Correct or remove an entry
\memory forget <id>
\memory help lists more options.
Tidy up
Compresses older memories so they stay useful.
Sessions & Resume
Every session is saved. Close your terminal whenever you like and pick up exactly where you left off.
What a session keeps
- your goal and the plan
- decisions made along the way
- which checks ran and what they said
- what failed
- the files that mattered
A transcript of each session also stays on your computer.
List your sessions
nova sessions --all # every project
Resume a session
nova resume a1b2c3 # a specific one
nova --resume # choose from a list
nova --continue # same as nova resume
You can refer to a session by its short ID, its number in the list, or a name you gave it.
What happens when you resume
- NOVA restores the goal, plan and decisions.
- It checks what changed in your project while you were away.
- It tells you what's stale. For example, a test that passed before someone edited the file is shown as stale, not as passing.
- It carries on from the next step.
Name and close sessions
nova sessions show checkout-fix
nova sessions complete checkout-fix
nova sessions abandon a1b2c3
nova sessions delete a1b2c3
- complete: the goal is done.
- abandon: you've stopped working on it.
- Both keep the record. delete removes it for good, after asking.
Skills
Skills are built-in know-how for particular jobs. NOVA picks the right one for your request automatically, or you can name one yourself.
Built-in skills
| Skill | Use it for |
|---|---|
| debug | Something is broken, failing or behaving oddly. |
| testing | Adding, extending or fixing tests. |
| review | Reviewing your changes. |
| refactor | Restructuring code without changing what it does. |
| explain | Understanding existing code. |
| security | Checking code for security problems. |
| frontend-web | Websites and web apps. |
| Creating and reading PDFs. | |
| pptx | Creating and reading slide decks. |
| data-analysis | Analysing data files and building dashboards. |
| data-science | Prediction and forecasting. |
Use a skill yourself
Type the skill's name as a command, then your task:
\review
\explain What does the retry helper do?
In a script:
See your skills
nova skills inspect review
Write your own skill
A skill is a folder containing a SKILL.md file: a short description, then instructions.
--- name: team-review description: Review changes using our team checklist. version: 1.0.0 --- # Team review checklist Check error handling, naming and tests, and report what you checked.
- Create one:bashnova skills create team-review --project --description "Review changes using our checklist"
- Edit its
SKILL.md. - Check it:bashnova skills validate team-review
Write a clear description. NOVA decides when to use a skill from its description.
Add, install or remove skills
| Task | Command |
|---|---|
| Add a skill folder you have | nova skills add ./my-skill (add --project for this project only) |
| Install from Git | nova skills install <git-url> |
| Remove | nova skills remove <name> (add --project or --global) |
| List by source | nova skills list --source built-in (or user, project) |
- Skills for all your projects live in
~/.nova/skills/. - Project skills live in
.nova/skills/in your project, so you can share them with your team.
Before installing from Git, NOVA shows where the skill comes from and a checksum. It installs nothing unless you say yes.
Turn skills off
Use skills.disabled in Settings to switch skills off.
Models
NOVA gives you a choice of AI models, included in your plan. There's no separate AI account and no second bill. Switch models any time, and NOVA remembers your choice for each project.
Choose a model
Inside NOVA:
Use the arrow keys to move, Enter to choose, and Esc to cancel. The model you're using is marked with *.
You can also choose by name or number:
Your choice is saved for this project, on this computer.
Browse and search
The list starts with the models Recommended by NOVA. Your account may also show a longer list under More models. To find one:
Or from your terminal:
nova models --search coding
nova models --category reasoning
Models on your plan
Models your plan doesn't include are still listed, marked as locked, with the plan that unlocks them. See Plans & Pricing.
If a model stops responding
If a model stops responding in the middle of a task, NOVA switches to another so the work still finishes. It then tells you it switched.
Websites & Apps
Describe a website or app and NOVA builds it, from a single landing page to a full multi-page project.
Build a site
Build a website for a yoga studio with class times, prices and a booking formNOVA asks one question first: a single self-contained page, or a full multi-page project. That way you don't find out after a long build that you wanted the other one.
Design first
NOVA settles the look first (colours, fonts, spacing and components), then builds to it. That's why the pages look designed, not generated.
Build from a picture
Build a homepage that looks like @inspiration.pngNOVA looks at the image and builds to match it.
See it running
When the build is done, NOVA can start the site and open it in your browser. Start it yourself any time:
\runNOVA keeps it running while you work, and only ever stops processes it started itself.
Change it
Just ask:
Make the header darker and add a pricing pageDocuments & Slides
NOVA creates finished, designed PDFs and slide decks. It can also read existing ones to summarise, search or rebuild them.
Make a two-page PDF guide to our onboarding process from @docs/onboarding.mdCreate a 10-slide deck summarising Q3 results from @q3-numbers.csvAttach a PDF with @ and ask:
Summarise @contract.pdf and list every deadlineNOVA pulls out the text, tables and figures.
\pdf Turn README.md into a printable guide\pptx Build a pitch deck from @pitch-notes.mdData Analysis
Give NOVA a spreadsheet or data file and it does the whole job: it checks the data, writes and runs the analysis, and gives you the answer, a dashboard, or a forecast. Your data file stays on your computer.
Analyse a file
Pick what you get
Before starting, NOVA asks which you want:
- A written analysis with charts
- An interactive dashboard app you run on your own computer
- A dashboard web page for the browser
- An executive dashboard for decision makers
The dashboards read your data file themselves, so you can point a finished one at fresh data later.
It checks your data first
NOVA profiles the file first: rows, columns, what each column holds, what's missing, ranges, outliers and duplicates. It flags problems like mostly empty columns or duplicate rows, and asks what to do about the worst of them.
Results in plain English
NOVA runs the analysis on your computer and reports what the output actually says, in plain English with the numbers behind it. Ask for a PDF if you want a designed report.
Your data stays yours
- Your data file is never uploaded.
- The analysis runs on your computer.
- The AI works from a summary of the file (its size, column names and types, a few example values) and from the results.
- When columns need cleaning, NOVA does it inside the analysis instead of saving an altered copy of your file.
Prediction and forecasting
\data-science Predict next quarter's churn from @customers.csvNOVA works in steps: a hypothesis, an experiment, a measured result, and what it learned. It keeps a research log so earlier results shape what it tries next.
Git & Version Control
NOVA can commit and push your work while keeping its changes separate from yours. It always asks before anything leaves your computer.
Check where you are
Shows what's changed, what's staged, and how far ahead of or behind the shared copy you are.
Commit and push
\commit # NOVA asks for a message
\push # push the current branch
\ship # commit and push in one step
\gitoptions # a menu of Git actions
NOVA only commits its own work
NOVA keeps track of what it changed. When it commits, it includes only what it wrote. Your unfinished changes are left as they were. If you and NOVA both changed the same file, NOVA tells you instead of deciding for you.
Always asks
Committing, pushing and anything that rewrites history need your approval every time, in every mode. A script run can't approve them for you.
Automatic commits (optional)
To have NOVA commit after each successful task, turn on git.auto_commit in Settings. git.auto_push also pushes. Both are off by default.
No Git? No problem
Building, editing and \undo never need Git. When you ask for something that does, NOVA offers to install it. Or run nova setup-git.
Headless Mode
Run NOVA for one task and exit, with no interactive session. This is useful for scripts, CI and scheduled jobs.
Run one task
Pipe input in
cat error.log | nova -p "Why is this failing?"
echo "Explain the build setup" | nova -p
Allow changes
With nobody there to ask, anything that needs approval is refused. In the default mode that includes edits. To allow them:
nova -p "Fix the lint errors" --permission-mode acceptEditsTo also allow deleting files in that run (and nothing else):
nova -p "Remove the old build scripts" --permission-mode acceptEdits --allow-deleteGet JSON output
Generate structured machine-readable responses:
nova -p "List the failing tests" --output-format jsonUse stream-json to get events as they happen.
Keep a job bounded
Cap duration and step count in CI environments:
nova -p "Fix the flaky test" --timeout 600 --max-turns 20Continue a session
Resume previous work non-interactively:
nova -p "Now add tests for it" --continuenova -p "Next step" --resume a1b2c3nova login once on the machine before using nova -p. If you're not signed in, the run exits with code 3.Check the exit code
| Code | Meaning |
|---|---|
| 0 | Finished |
| 1 | Task unfinished, not verified, or the step limit was reached |
| 2 | Invalid command line |
| 3 | Not signed in |
| 4 | Out of credits |
| 5 | --timeout reached |
| 6 | Refused for lack of permission, with no other result |
| 130 | Interrupted |
0 doesn't always mean files changed. If an edit was refused and NOVA explained why, the run still exits 0. Check the Changed line in NOVA's record.All options are listed in Options & Exit Codes.
Repository Intelligence
NOVA builds a private map of how your project connects: what depends on what, what calls what, and what a change could affect. It uses the map automatically, so answers hold for the whole codebase.
It works automatically
You don't have to do anything. In existing projects, NOVA uses the map for architecture, impact and cross-file questions.
Ask the map yourself
\trace calculateTotal # where it's defined, called and used
\impact src/billing/invoice.py # what a change could affect
Private and local
- The map is built and kept on your computer.
- Your code is read, never run, to build it.
- If the map isn't available, NOVA falls back to ordinary search and keeps working.
Manage it
nova intelligence refresh # update it
nova intelligence rebuild # rebuild it from scratch
nova intelligence off # use ordinary search only
nova intelligence on # always use it when relevant
nova intelligence clear --yes
Inside NOVA, use \intelligence status and the same words.
If nova doctor reports a problem with it:
Project Rules & Reports
Give your project rules that apply to every change, whether it's made by a person, by NOVA or by another tool. Four quick reports tell you where things stand. They don't need sign-in or AI, so they're great for CI.
Create a rules file
This creates .nova/policy.yml in your project. Edit it, then commit it so your team shares the rules:
version: 1 protected_paths: - .github/workflows/** - migrations/** protected_branches: - main - release/* required_checks: - test - lint approval_required_for: - git push - dependency install
allowed_dependencies, a list of packages NOVA may install, such as npm:react or pip:requests.The four reports
nova verify # run the checks your changes need, and explain the result
nova risk # what a reviewer should look at first
nova handoff # a summary of the changes and their checks
Add --json to any of them for machine-readable output.
Exit codes for reports
| Code | Meaning |
|---|---|
| 0 | Everything required passed |
| 1 | A required check failed or never ran |
| 2 | Blocked: a person needs to approve |
| 3 | NOVA doesn't recognise this as a project it can check |
Hooks
Hooks run your own commands when things happen in NOVA. For example, you can send a notification when a task ends, or block an action your team doesn't allow.
Events
| Event | When it runs |
|---|---|
| session_start | NOVA starts a session. |
| pre_tool_use | Before NOVA takes an action. |
| post_tool_use | After NOVA takes an action. |
| turn_end | A task finishes. |
| session_end | The session ends. |
Add a hook
Add hooks in Settings:
{
"hooks": {
"turn_end": ["./scripts/notify.sh"]
}
}What your hook receives
Each hook gets a short JSON description of the event on its standard input. To see exactly what's sent:
Block an action
If a pre_tool_use hook exits with an error, NOVA doesn't take that action, and is told why.
Note: Hooks set in a project's shared settings only run after you trust the project.
MCP Servers
Connect NOVA to outside tool servers using MCP. Those tools follow the same permission rules as everything else.
Add a server
Add servers under mcp.servers in Settings. A server is either a command NOVA starts, or an address it connects to:
{
"mcp": {
"servers": {
"my-tools": { "command": "npx", "args": ["my-mcp-server"] },
"remote-tools": { "url": "https://example.com/mcp" }
}
}
}Check it works
nova doctorThe MCP section shows whether each server is reachable.
Skip servers for one run
Bypass external tools when you want instant offline execution:
nova -p "Quick question about the code" --no-mcpNote: Servers set in a project's shared settings only start after you trust the project.
NOVA App
NOVA App is a visual workspace for NOVA that opens in your browser and runs entirely on your own computer.
Open NOVA App
From your terminal, in a project folder:
Or from inside NOVA:
\app works too. NOVA App opens in your default browser for the current project.
What you can do
- Chat with NOVA about your project.
- Browse your sessions and skills.
- See your Git status.
- Set up scheduled work.
- Check how NOVA understands your project.
Stop NOVA App
Press Ctrl+C in the terminal that started it.
Note: If NOVA says NOVA App isn't in your installed build yet, update NOVA and try again.
Settings
Change how NOVA behaves for you, for a project, or for your whole team.
View and change settings
nova config get permission.mode # one setting
nova config set permission.mode acceptEdits # this project, shared with your team
nova config set permission.mode acceptEdits --local # this project, this computer only
nova config set ui.header compact --user # all your projects
Where settings live
Later ones win:
- NOVA's defaults
~/.nova/settings.json: your settings, for every project.nova/settings.jsonin your project: shared with your team (commit it).nova/settings.local.jsonin your project: this computer only (don't commit it)- Command-line options, like
--permission-mode
If one value is invalid, NOVA skips just that value and tells you. If you misspell a key, NOVA suggests the right one.
Settings you can change
| Setting | Values | Default | What it does |
|---|---|---|---|
| permission.mode | plan, ask, acceptEdits, overdrive, auto | ask | How much NOVA does without asking. |
| permission.allow | list | empty | Commands NOVA may run without asking. |
| permission.deny | list | empty | Commands NOVA always refuses. |
| ignore | list | empty | Extra file patterns to leave out of searches. |
| routing.max_iterations | number | 30 | The most steps in one task before NOVA stops and reports. |
| verify.enabled | true / false | true | Run your checks after a task that edits files. |
| verify.test | command | detected | Your test command. |
| verify.build | command | detected | Your build command. |
| verify.lint | command | detected | Your lint command. |
| verify.typecheck | command | detected | Your type-check command. |
| git.auto_commit | true / false | false | Commit after a successful task. |
| git.auto_push | true / false | false | Push after committing. |
| skills.disabled | list | empty | Skills to switch off. |
| skills.enabled | list | empty | If set, only these skills load. |
| repository_intelligence.enabled | auto, on, off | auto | Use the project map when it helps. |
| ui.header | general, compact | general | How much the header shows. |
| telemetry.enabled | true / false | true | Keep a local usage log on your computer. Nothing is sent. |
| hooks | object | empty | See Hooks. |
| mcp.servers | object | empty | See MCP Servers. |
Example
{
"permission": { "mode": "acceptEdits" },
"verify": { "test": "pytest -q" },
"ignore": ["dist/**", "*.log"]
}.nova/settings.local.json, so your choice never widens permissions for your whole team.Trusted Projects
A project's shared settings arrive with the code when you clone it. Some settings run commands. NOVA ignores those until you say you trust the project.
What needs trust
- custom check commands (
verify.*) - pre-approved commands (
permission.allow) - hooks
- MCP servers
- project skills that run code
Trust a project
NOVA shows exactly what the project wants to run, then asks. Read it before saying yes.
See and undo trust
nova trust --list # every project you trust
nova trust --revoke # stop trusting this project
Updates & Uninstall
Keep NOVA up to date, go back a version if you need to, or remove it cleanly.
Automatic updates
If you used the one-line installer, NOVA updates itself. New versions download and are checked in the background, and NOVA tells you when to restart.
Updates are skipped on metered connections and in scripts. To turn them off entirely, set NOVA_NO_AUTO_UPDATE=1.
Update by hand
nova update --now # get the latest version now
nova update --rollback # go back to the previous version
Updating pip, pipx or conda installs
| Installed with | Update with |
|---|---|
| pip | pip install --upgrade nova-bridgeye |
| pipx | pipx upgrade nova-bridgeye |
| conda | python -m pip install --upgrade nova-bridgeye using that environment's Python |
Uninstall
NOVA lists what it will remove and asks first. It keeps your settings, history, memory, sessions and skills in ~/.nova, and never touches your projects.
To remove your NOVA data too:
NOVA asks again before deleting your data. If you installed with pip, pipx or conda, nova uninstall tells you the right command instead.
Windows: the last step finishes as NOVA closes. Open a new terminal afterwards.
CLI Commands
Commands you run from your normal terminal.
Everyday
| Command | What it does |
|---|---|
| nova | Open an interactive session in this folder. |
| nova -p "task" | Run one task and exit. See Headless Mode. |
| nova login | Sign in through your browser. |
| nova logout | Sign out on this computer. |
| nova usage | Your plan and credits. |
| nova run <file> | Run a file and fix it if it crashes. |
| nova-app | Open NOVA App in your browser. |
Sessions
| Command | What it does |
|---|---|
| nova sessions [--all] | List sessions. |
| nova sessions show <session> | What NOVA remembers about a session. |
| nova sessions rename <session> <name> | Name a session. |
| nova sessions complete <session> | Mark the goal done. |
| nova sessions abandon <session> | Stop working on it. |
| nova sessions delete <session> [--yes] | Delete a session. |
| nova resume [session] | Continue a session. |
| nova --continue / -c | Continue the most recent session. |
| nova --resume [session] | Choose a session to continue. |
Setup and maintenance
| Command | What it does |
|---|---|
| nova --version | Show the installed version. |
| nova --help | List commands. |
| nova doctor | Check your install, sign-in, tools and skills. |
| nova setup-git | Install Git. |
| nova update [--status | --now | --rollback] | Manage updates. |
| nova uninstall [--purge] [--yes] | Remove NOVA. |
| nova completion bash|zsh|fish | Shell completion script. |
Settings, models and skills
| Command | What it does |
|---|---|
| nova config list | All settings and where they come from. |
| nova config get <key> | One setting. |
| nova config set <key> <value> [--user | --local] | Change a setting. |
| nova config hooks-doc | What NOVA sends to hooks. |
| nova models [--search text] [--category name] | Browse models. |
| nova skills list | inspect | create | add | install | validate | remove | Manage skills. |
| nova trust [--show | --list | --revoke] | Trust a project's shared settings. |
Project reports and map
| Command | What it does |
|---|---|
| nova init [--force] | Create a project rules file. |
| nova brief | Quick project overview. |
| nova verify | Run the checks your changes need. |
| nova risk | What a reviewer should look at first. |
| nova handoff [--save] [--json] | Summary of changes and checks. |
| nova intelligence status | refresh | rebuild | on | off | clear | Manage the project map. |
Shell Commands
Commands you type inside NOVA. They all start with a backslash. Type \ to see suggestions, or \commands to browse them all.
Account and session
| Command | What it does |
|---|---|
| \login / \logout | Sign in or out. |
| \usage | Plan, credits and this session's usage. |
| \model | Choose a model. |
| \mode [plan|ask|edits|overdrive|auto] | Show or change the permission mode. |
| \doctor | Check your install. |
| \commands (or \help) | Browse commands. |
| \nova-app (or \app) | Open NOVA App. |
| \exit (or \quit) | Leave NOVA. |
Working on a task
| Command | What it does |
|---|---|
| \continue | Pick up the previous task. |
| \fix | Fix problems NOVA reported but left alone. |
| \diff | See what this task changed. |
| \undo | Undo the last task's changes. |
| \reset | Start a fresh conversation. |
| \run [file or command] | Run a file, a command or the project, and fix crashes. |
| \test | Run the project's tests. |
| \lint | Run the linter. |
| \typecheck | Run the type checker. |
| \check | Build, type check, lint and test. |
Understanding the project
| Command | What it does |
|---|---|
| \map | The project's structure. |
| \trace <name> | Where something is defined, called and used. |
| \impact <file or name> | What a change could affect. |
| \intelligence | Check or refresh the project map. |
Git
| Command | What it does |
|---|---|
| \status | What's changed and staged. |
| \commit [message] | Commit. |
| \push | Push the current branch. |
| \ship | Commit and push. |
| \gitoptions | Git actions menu. |
Memory
| Command | What it does |
|---|---|
| \remember <note> | Save a rule, preference or decision. |
| \memory [project|global] | See what NOVA remembers. |
| \memory forget <id> | Remove an entry. |
| \memory replace <id> <text> | Correct an entry. |
| \consolidate | Tidy older memories. |
Files and folders
| Command | What it does |
|---|---|
| \ls, \tree | List a folder, or show its structure. |
| \cd <folder>, \pwd | Change or show the folder. |
| \cat, \head, \tail <file> | Show a file, or its first or last lines. |
| \wc <file> | Count lines, words and characters. |
| \create [folder|file] <name> | Create a file or folder. |
| \mkdir <folder>, \touch <file> | Create a folder or an empty file. |
| \cp <from> <to> | Copy. |
| \rename <old> <new> (or \mv) | Rename or move. |
| \delete <name> (or \rm) | Delete. NOVA confirms first. |
| \which <command>, \echo <text> | Find a command, or print text. |
Display and folder lock
| Command | What it does |
|---|---|
| \clear | Clear the screen. |
| \compact, \general | Short or full header. |
| \verbose | More or less detail while NOVA builds. |
| \log [n] | Recent log entries. |
| \makeroot | Keep NOVA inside the current folder. |
| \exitroot | Remove the lock and go back to where NOVA started. |
Skills
Every skill is also a command: \debug, \testing, \review, \refactor, \explain, \security, \frontend-web, \pdf, \pptx, \data-analysis, \data-science, plus any you add.
Options & Exit Codes
Options for running NOVA in one shot with nova -p, and what its exit codes mean.
Options
| Option | What it does |
|---|---|
| -p "task", --print | The task to run. Or pipe it in: echo "task" | nova -p |
| --permission-mode <mode> | plan, ask, acceptEdits, overdrive or auto. |
| --allow-delete | Allow deleting files in this run, and nothing else. |
| --output-format <format> | text (default), json or stream-json. |
| --max-turns <n> | The most steps NOVA may take. |
| --timeout <seconds> | Stop after this long. |
| --skill <name> | Use a specific skill. Repeat for more than one. |
| --continue, -c | Continue the most recent session. |
| --resume <session> | Continue a specific session. |
| --cwd <folder> | Run in another folder. |
| --stdin | Wait for all piped input before starting. |
| --no-mcp | Don't connect to MCP servers for this run. |
Exit codes for nova -p
| Code | Meaning |
|---|---|
| 0 | Finished |
| 1 | Task unfinished, not verified, or the step limit was reached |
| 2 | Invalid command line |
| 3 | Not signed in |
| 4 | Out of credits |
| 5 | --timeout reached |
| 6 | Refused for lack of permission, with no other result |
| 130 | Interrupted |
Exit codes for reports
For nova brief, verify, risk and handoff:
| Code | Meaning |
|---|---|
| 0 | Everything required passed |
| 1 | A required check failed or never ran |
| 2 | Blocked: a person needs to approve |
| 3 | Not a project NOVA can check |
Keyboard Shortcuts
Keys that make NOVA faster to use.
Typing
| Key | What it does |
|---|---|
| Enter | Send your message. |
| Shift+Enter | New line. Use Alt+Enter or Ctrl+J if your terminal doesn't support Shift+Enter. |
| Esc | Clear what you've typed. |
| Tab | Complete a command, or a file name after @. |
| Ctrl+V | Open a folded paste to read or edit it. |
Large pastes fold into one line, like [#1 Pasted 248 lines], so they don't fill your screen. NOVA still gets the full text.
While NOVA works
| Key | What it does |
|---|---|
| Esc | Stop NOVA. Type a correction to redirect it. |
| Shift+Tab | Cycle permission modes: ask → edits → auto. |
Anywhere
| Key | What it does |
|---|---|
| Ctrl+C | Copy selected text. Press twice at an empty prompt to leave NOVA. |
In lists
| Key | What it does |
|---|---|
| Up / Down | Move. |
| Enter | Choose. |
| Esc | Cancel. |
Teams & Enterprise
NOVA for companies: one pool of credits for the whole team, an organisation dashboard to run it, company sign-in, and one invoice. Everything below is what owners, admins, billing members and members see and do.
| Plan | For | How it's paid |
|---|---|---|
| Team | 2 to 15 people | Card or UPI, one payment per month or year |
| Team Plus | 2 to 25 people who build the most | Card or UPI, one payment per month or year |
| Enterprise | 11 people and more | Monthly invoice, PO and bank transfer |
What a team gets that personal plans can't
- A shared pool of credits. Credits flow to whoever needs them, and unused credits carry over within the month instead of ending at midnight.
- Control: limits per person or per group, which models and features are allowed, budget alerts.
- Visibility: usage by member, model and day, CSV export and (Enterprise) a usage API.
- Company sign-in with Google Workspace or Microsoft, plus SAML and automatic provisioning on Enterprise.
- One invoice in the company's name. In India it is a GST invoice with your GSTIN, so the GST can be claimed back.
- The company keeps the work when someone leaves: their projects are shared with an admin.
Where things happen
- Members keep using NOVA and NOVA CLI exactly as before. While they are in a team, their credits come from the team's pool.
- Owners, admins and billing members run the team from the organisation dashboard: runnova.ai/enterprise/org. Sign in there with the same NOVA account.
- Teams and Enterprise are described and priced on runnova.ai/enterprise, reached from the Pricing page.
Plans & Prices
Prices on this page are live and shown in US dollars. One credit is about 5,000 tokens on the base model; bigger models use credits faster.
Team and Team Plus seats
| Seat | Monthly | Yearly (per month) | Credits a month | About a day |
|---|---|---|---|---|
| Team | … | … | … | … |
| Team Plus | … | … | … | … |
Team and Team Plus are separate plans: every seat in a team is the same kind, and every seat adds its credits to one team pool. For example, a 5-seat Team gets … credits a month and a 5-seat Team Plus gets …. Move a team to Team Plus any time (you pay the difference for the rest of the period), or switch either way at renewal. Yearly billing saves about 13%. A new team keeps the seat price it bought at for 12 months, even if prices go up.
Credit packs
| Pack | Price | About | Lasts |
|---|
Packs go to the whole team and are used after the monthly pool. The pack that expires soonest is used first. Work estimates are on the base model; bigger models do fewer tasks per credit.
Enterprise
| Line | Price (a month) |
|---|---|
| Platform fee | … |
| Credits included | … |
| Use beyond the pool | … |
| Where NOVA runs | Bridgeye cloud (included), a dedicated server, or your own servers |
| Discounts | 2-year contract 5%, 3-year 10%, education and non-profits 20% |
Enterprise is an annual contract billed monthly. Get an estimate with the calculator on runnova.ai/enterprise, and your point of contact confirms the price within one business day.
The 7-day trial
When the trial is offered, a team can try NOVA Teams free for 7 days with 3 seats and a 1,000-credit pool.
- A small card check saves your card and is refunded straight away.
- Owners and billing members get an email two days before the trial ends.
- When it ends, the first month is charged to the card, unless you cancel from the dashboard. A cancelled trial simply ends; nothing is deleted.
Getting Started
From buying a team to your first member building on the shared pool.
Choose your seats
Pay once for the period
Open the dashboard
Invite your team
Set the rules
Moving from Pro
Your personal plan stays active until the end of the period you paid for. While you are in a team, your credits come from the team. If you leave, you go back to your own plan.
Roles & Permissions
Every person in an organisation has one role. There is exactly one owner.
| Can | Owner | Admin | Billing | Member |
|---|---|---|---|---|
| Use NOVA and NOVA CLI on the team's credits | ✓ | ✓ | ✓ | ✓ |
| See their own usage and limit | ✓ | ✓ | ✓ | ✓ |
| See the whole team's usage | ✓ | ✓ | ✓ | – |
| Invite, remove and change roles | ✓ | ✓ (not admins) | – | – |
| Controls: limits, groups, models, features, alerts | ✓ | ✓ | – | – |
| Settings, logo, verified domains, single sign-on | ✓ | ✓ | – | – |
| Buy seats, packs and renewals; save a card | ✓ | – | ✓ | – |
| See invoices | ✓ | ✓ | ✓ | – |
| Make or remove admins, transfer ownership | ✓ | – | – | – |
| Choose who receives projects when someone leaves | ✓ | – | – | – |
The owner can't be removed and can't leave; transfer ownership to an active member first (Settings). The previous owner becomes an admin.
Members & Seats
People hold seats. A pending invitation holds a seat too, so you can never invite more people than you pay for.
Inviting
- Members › Invite people: enter one or more emails and a role. Copy a link yourself if an email doesn't arrive.
- Pending invitations can be resent (a new link) or revoked.
- With a verified domain and auto-join on, colleagues who sign in with an address at that domain join automatically while seats last (see ).
Team Plus
On Team Plus every member has a Team Plus seat, with the larger Plus limit (1,000 a day by default). To move a Team to Team Plus, use Billing › Add seats › Move the team to Team Plus; you pay the difference for the rest of the period. Enterprise can mix Standard and Plus seats; give Plus seats to people from the Seat column in Members.
Removing someone, or leaving
- Remove ends their access to the organisation at once. Their personal NOVA account is untouched.
- A member can leave from the Members page and goes back to their own plan.
- Their NOVA projects are shared as an editor with the person the owner chose (the owner by default), so the company keeps the work. Ownership doesn't move and nothing is deleted. The owner picks who receives projects at the top of the Members page.
Credits, Limits & Top-ups
How the pool works, how members draw from it, and what happens when it runs low.
The pool
The pool is every seat's monthly credits added together. It renews every 30 days from the day the team started, whether you pay monthly or yearly. Extra credits from packs are used after the pool. The dashboard's Overview shows what's left, when it renews and when packs expire.
How members draw from it (Controls)
| Rule | What it means |
|---|---|
| Daily | Each member's limit refills at midnight in your organisation's time zone |
| Weekly | Each member's limit refills every Monday |
| Monthly | Each member's limit refills when the pool renews |
| Share freely | No personal limits; anyone can use the pool until it runs out |
Set the team limit per member (default 300 a day) and the Plus limit for Team Plus (and Enterprise Plus seats). Give anyone a personal limit under Controls › Personal limits. On Enterprise, groups can have their own limit too. What applies, most specific first: personal limit, then group limit, then the team's.
When credits run out
- A member who reaches their own limit sees when it resets, or can ask an admin for more.
- When the pool and extra credits are used up, NOVA and NOVA CLI say so. Owners and billing members are offered the best-value pack right there: one click with a saved card, or a short checkout without one. Members are told to ask the owner and when the pool renews.
- Enterprise isn't stopped at the pool: use beyond it is billed on the monthly invoice, unless your contract asks for a hard cap.
Saved card, one-click packs and auto top-up (Billing)
- Save a card when you pay, or with Billing › Save a card (a small card check, refunded straight away). The card is kept by Razorpay; NOVA keeps only its network and last four digits.
- With a card saved, a pack is one click: select it, then Yes, add them.
- Auto top-up is on by default once a card is saved: when less than 10% of the pool is left, it adds the pack you chose, never spending more than your monthly limit. Turn it off, change the pack or the limit in Billing.
- A declined card is shown in Billing and isn't retried for a day. Remove the card any time.
Budget alerts
The owner and admins get an email when the team has used 50%, 80% and 100% of its pool (change the steps in Controls). The email says how many days are left at the current pace, and at 100% it links straight to the one-click pack. Add more addresses, or a Slack or webhook address, in Controls › Budget alerts.
Controls & Settings
What owners and admins can switch on and off for the whole team. Changes apply on the next request.
Models
Every model NOVA offers is allowed until you block it. Blocked models disappear from members' model pickers in NOVA and are refused in NOVA CLI. On Enterprise, a group can block more models than the team does; a model blocked for the organisation stays blocked for everyone.
Features
| Switch | Turns on or off |
|---|---|
| NOVA CLI | Using the team's credits from NOVA CLI |
| Publish sites publicly | Publishing sites anyone can open |
| Buy and connect custom domains | Domains for team members' sites |
| Connectors | GitHub, Shopify and the other connectors |
| Image and video generation | Media models |
Groups (Enterprise)
Group people by team, like Design or Backend (up to 50 groups). Each group can have its own limit and block models the organisation allows. Add people to a group from the Group column in Members. Deleting a group sends its members back to the team rules.
Settings
- Organisation name, legal name and billing email for invoices.
- GSTIN (India), address, country and state: these decide the tax on invoices (CGST and SGST in Goa, IGST elsewhere in India).
- Time zone: when daily and weekly limits reset.
- Logo: PNG, JPEG or WebP up to 2 MB, shown on the dashboard.
- Purchase order (PO) number (Enterprise): printed on your monthly invoices.
Activity (audit log)
Every change to members, controls, settings, billing and sign-in is recorded with who made it and when. It is kept for 90 days on Teams and a year on Enterprise, where owners and admins can also export it as CSV (Settings › Activity).
Usage & the Usage API
See who uses what, and pull the same figures into your own tools.
The Usage page
- Credits by day (or hour), by member, by model and by surface (NOVA or NOVA CLI), for 24 hours, 7 days, 30 days, a year or a custom range.
- Totals, the top model, requests, and what the use would cost as packs.
- Members see only their own usage. Export any view as CSV.
The usage API (Enterprise)
Read-only access to the same figures for finance, BI or chargeback. An owner or admin creates a token on the Security page; it is shown once, only a fingerprint is stored, and making a new token stops the old one.
| Endpoint | Returns |
|---|---|
| /summary | Totals, top model and the current pool |
| /members | Each member's credits and requests, with their group |
| /models | Each model's credits and requests |
| /daily | Credits per day (per hour for 24h) |
Add ?range=24h, 7d, 30d or 1y, or ?start= and &end= as Unix times (up to 400 days). Figures are in credits.
"https://runnova.ai/api/enterprise/usage/v1/members?range=30d"
# { "organisation": "Acme", "unit": "credits", "members": [ ... ] }
Billing & Invoices
Teams pay once per period; Enterprise is invoiced monthly for what was used.
Teams
- One payment per month or year. Nothing renews by itself: owners and billing members are emailed a week and a day before the period ends.
- Renew any time; the new period starts when the current one ends. You can change the number of seats, or switch between Team and Team Plus, at renewal (not below the people holding seats).
- Add seats now, or move the whole team to Team Plus. You pay only for the rest of the current period.
- Every payment gets a numbered invoice by email, in the company's name. In India it is a GST invoice with your GSTIN.
Enterprise
- A monthly invoice for each 30-day cycle: platform fee, seats, use beyond the pool, any fixed lines (such as a dedicated server), less your contract discount, plus GST where it applies.
- Pay online from Billing, or by bank transfer with the details on the invoice. Payment terms are on your contract.
- Your PO number (Settings or contract) is printed on every invoice.
Security & Sign-in
Verified domains, single sign-on and automatic provisioning. Set up by owners and admins on the dashboard's Security page.
How people sign in
- Everyone uses their NOVA account: GitHub or Google, as usual, in NOVA, NOVA CLI and the dashboard.
- With single sign-on on, people at your verified domains can choose Continue with SSO on the sign-in page and enter their work email; NOVA sends them to your identity provider and back.
- With Require it on, people at your domains can only sign in through SSO. Other sign-ins are refused with a message explaining what to do.
- Accounts are matched by email, so someone who signs in through SSO keeps the same NOVA account, projects and history.
Verify your domain
Add the domain
acme.com, and select Add domain.Add the TXT record
nova-verification=….Verify
A domain can be verified by one organisation only. Public email domains (gmail.com and similar) can't be used.
Single sign-on
| Provider | Plans | What you enter |
|---|---|---|
| Google Workspace | Teams, Enterprise | Nothing: only Workspace accounts on your verified domains are accepted |
| Microsoft Entra ID | Teams, Enterprise | Your directory (tenant) ID or tenant domain, like acme.onmicrosoft.com |
| SAML (Okta and others) | Enterprise | Your identity provider's entity ID, sign-in URL and signing certificate |
Setting up SAML
- In your identity provider, create a SAML app for NOVA using the Entity ID (audience) and Single sign-on URL (ACS) shown on the Security page, or its metadata URL.
- Send the email address as the NameID.
- Paste your provider's entity ID, sign-in URL and signing certificate into NOVA, turn on Single sign-on, and Save.
- Test with one person before turning on Require it.
Automatic provisioning with SCIM (Enterprise)
- Security › Automatic provisioning: Turn on and make a token. Copy the SCIM base URL and the token (shown once) into your identity provider's provisioning settings.
- People assigned to the NOVA app are added to your organisation; unassigning or deactivating them removes them, and their projects are handed over as usual.
- Only addresses at your verified domains can be provisioned, and only while you have seats. The owner can't be removed by SCIM.
- Making a new token stops the old one. Turn off stops provisioning.
Data and privacy
Bridgeye doesn't train models on your code. Each request goes to the model provider that answers it, under that provider's terms; the privacy policy lists everyone involved. Invitation links, SCIM and usage API tokens are stored only as fingerprints. Enterprise customers can also choose where NOVA itself runs.
Teams & Enterprise FAQ
Short answers to the questions teams ask most.
Troubleshooting
Fixes for the problems people hit most. Start with nova doctor: it checks the usual suspects and tells you what to do.
First steps
nova config get <setting> # a setting's value and where it came from
nova verify # why NOVA's checks gave the result they did
Inside NOVA, \log shows recent log entries when something failed and the details scrolled away.
Install problems
| You see | What to do |
|---|---|
| nova: command not found right after installing | Open a new terminal. |
| Still not found after a pip install | Activate the environment you installed into. |
| pip install bridgeye-nova fails | The package is nova-bridgeye. |
Sign-in problems
| You see | Why | What to do |
|---|---|---|
| "Login timed out." | The browser sign-in wasn't approved in time. | Run nova login again and approve it. |
| "Login Blocked" | The sign-in was rejected, for example while on a VPN. | Turn off the VPN and try again. |
| "Sign-in not saved" (Windows) | Windows couldn't store your sign-in securely. | Reinstall NOVA with the one-line installer, then sign in again. |
| "Credential valid: NO" in nova doctor | Your saved sign-in stopped working. | Run nova logout, then nova login. |
While working
| You see | Why | What to do |
|---|---|---|
| "You're out of credits for today." | Today's credits are used up. | Wait for tomorrow's credits, or upgrade. |
| "… is not available on your plan." | That model or feature needs another plan. | Pick another, or see Plans & Pricing. |
| "I stopped after 30 steps without finishing" | The task hit the step limit. | Say what to focus on, or split the task. Work so far is kept. |
| "Refused: the command contains '|'" | NOVA runs commands without a shell, so pipes, ; and && aren't allowed. | Ask for one plain command at a time. |
| "NOVA's model service blocked this request" | The request couldn't be completed. | Try again later. Files already written are kept. |
| "Unknown command …" | A typo. | Use NOVA's suggestion, or type \commands. |
| cd in a command didn't move NOVA | Commands don't change NOVA's folder. | Use \cd. |
Scripts and CI
| You see | What to do |
|---|---|
| "Approval was required for … but NOVA is running without an interactive prompt." | Add --permission-mode acceptEdits (or overdrive), plus --allow-delete if it must delete files. |
| Exit code 3 | Run nova login on that machine. |
| "Refusing to uninstall without confirmation." | Add --yes. |
Results
| You see | What to do |
|---|---|
| Verification UNVERIFIED | Run nova verify to see why, then run your own tests. Tell NOVA your commands with verify.test and similar settings. |
| A pass shown as stale | Files changed since the check ran. Run the check again. |
FAQ
Quick answers to common questions.
Report an Issue
A short, exact report gets fixed fastest. Here's what to include, and what to leave out.
Collect the basics
nova doctor
What to include
- Your NOVA version (from
nova --version) - Your operating system and terminal
- What you typed
- What you expected
- What happened, with the exact error message
- Steps to make it happen again
- Whether it happens every time
What to leave out
Never include passwords, API keys, access tokens, cookies, private keys or other secrets. Check logs and screenshots for them before you send anything.
Send it
Email support@bridgeye.com.
Security & Privacy
How NOVA protects your code, your secrets and your control over your computer.
You approve the risky things
Deleting files, installing software, committing, pushing, deploying and opening secret files always ask, in every mode. See Permissions.
Secrets are masked
NOVA masks recognised passwords, keys, tokens and cookies in the sessions, logs and handoff notes it saves. Masking is a safety net, so don't paste secrets into your requests.
Your sign-in is stored securely
NOVA stores your sign-in in your operating system's secure credential store where one is available. On Windows, if it can't store your sign-in securely, it saves nothing and tells you.
What stays on your computer
- your sessions, memory and settings
- the project map
- data files you analyse
- handoff notes
Other people's code
A project you clone can't run commands through NOVA until you trust it. Skills you install from Git show their source and a checksum first.
Keep NOVA in one folder
\makerootNOVA won't create or edit files outside the current folder until you run \exitroot.
Join our Discord
Chat with our engineers and become part of the active NOVA developer community.
Need help?
Open an issue on GitHub or email support@bridgeye.com.