Setup guide · Q3 2026

Get Niha running,
then start building

Six steps, about ten minutes. You need no Node, no Python and no Docker: the Niha CLI is a single self-contained binary. Work through this in order, because each step assumes the one before it worked.

Step 1

Accept the invite and confirm you can sign in

Do this first. Everything else fails without it.

Niha does not create accounts on the fly. If you have not been invited, signing in with Microsoft will be refused with No account found for your address, even though your Microsoft login itself is perfectly valid. Registering for the challenge is what puts you on the invite list.
  1. Find the invite email

    It arrives after you register, from the Niha platform. Click the link inside it. If it is not in your inbox within a few hours of registering, check junk, then ask in the challenge channel.

  2. Sign in to the web console

    Open app.nihaandco.com and choose Continue with Microsoft. Use your t.a.c work account, the same one you registered with.

  3. Confirm before moving on

    You should land inside the console and see an organisation name. That is your proof that the invite was accepted and your account is active. Do not continue until you see this. If sign-in is refused, jump to troubleshooting.

Step 2

Have your own repository ready

Niha works inside a project folder. Bring the project you are building for the challenge.

What you need

  • A git repository you own, cloned to your machine.
  • A remote configured, normally on GitHub. Niha reads the remote to name your project.
  • Anything from an empty repo with a README to an existing codebase. Both are fine.

Starting from nothing

Create the repo on GitHub first, then clone it, so the remote exists from the start.

git clone https://github.com/<you>/<your-project>.git
cd <your-project>
Niha refuses to treat your home directory or the filesystem root as a project, so always work from inside the project folder itself.
Step 3

Install the CLI

Pick your operating system. Each tab is complete on its own, including how to upgrade later.

Install with Homebrew

This is the recommended route on macOS, because upgrades are then a single command.

brew install --cask niha-and-co/tap/niha

Or install with curl

No Homebrew needed. Installs to /usr/local/bin and asks for your password if that directory is not writable. Apple Silicon and Intel are detected automatically.

curl -fsSL https://cli.nihaandco.com/install.sh | bash

Check it worked

niha --version
If macOS says the binary is damaged, that is Gatekeeper, not a broken download. The binary is not Apple code-signed. Clear the quarantine flag:
xattr -cr /opt/homebrew/Caskroom/niha/ && xattr -cr /opt/homebrew/bin/niha
For a curl install, use xattr -cr /usr/local/bin/niha instead.

Upgrading later

Niha shows a small update marker in the interactive session when a new version is out. It never updates itself.

brew update && brew upgrade --cask niha

The brew update half matters. Without it Homebrew can read a stale cached copy and tell you that you are already current when you are not. If you installed with curl, upgrade by re-running the same curl command.

Step 4

Sign in from the terminal

Same Microsoft account as the web console. This is a device code flow, like signing in to the Azure CLI.

niha login

What you will see

To sign in, open this URL in your browser:
https://microsoft.com/devicelogin

Enter code: ABCD-EFGH

Opened in browser...
Waiting for sign-in...

Niha tries to open the browser for you. If it cannot, open the URL yourself and type the code shown in your terminal.

What success looks like

✓ Logged in as Ada Lovelace (ada@techatcore.com)
Organization: tech.at.core
Role: capability_builder

Your session lasts about 30 days. If it says No organization. Ask your admin to invite you. then step 1 did not complete.

Check your identity at any time

This verifies against the platform rather than trusting what is cached locally, so it is the honest answer.

niha whoami

There is no niha auth status command. Use whoami. Inside an interactive session the same thing is /whoami.

Step 5

Go to your project and start Niha

Two commands. That is the whole of it.

cd ~/path/to/your-project
niha

Running niha with no arguments opens the interactive session. You will see a header like this, then a prompt where you type in plain English:

niha · claude-sonnet-5 · 14 tools · off mode
/help for commands · Ctrl+V to paste an image · Ctrl+C to interrupt · Ctrl+D to exit

You do not need to create a workspace

Do not run niha init. Do not create a workspace in the web console. Neither is needed for the challenge, and running them will point you at the wrong thing.

Your workspace is created for you. The first time Niha writes a file or runs a command in your project, it establishes the project root at your current folder, creates a .niha/ directory beside your .git/, and provisions a workspace on the platform named after your repository. It is silent, it happens once, and it repeats safely: the same folder always resolves to the same workspace.

niha init exists for a different situation, joining a repo to a workspace an administrator has already built. That is not your situation. You are bringing your own project, so let Niha provision it.

Step 6

Your first commands

Run these once to confirm the setup is healthy, then get on with building.

niha doctor

Health check. Confirms the platform is reachable, your credentials are good, git is present and a workspace is resolved. Run this first if anything feels wrong.

niha status

What is governing you right now: project, posture, workspace, ledger.

niha assess

Your governance score for this project, one to five. Useful as a starting baseline.

niha ask "What does this repository do?"

A single question, answered, then it exits. Good for quick things without opening a session.

niha --help

Every command, grouped. Add --help to any command for its own detail.

Inside the interactive session

There are four ways to type at the prompt.

Four ways to type

  • Plain English for anything: add a health endpoint and a test for it
  • A slash command for Niha itself: /help
  • A bang to run a shell command: !git status
  • An at sign to point at a file, with Tab completion: @src/auth.py

Slash commands worth knowing

  • /help every command available
  • /status project, workspace and posture
  • /permissions how much Niha may do unattended, also Shift+Tab to cycle
  • /model switch model · /cost what this session spent
  • /compact shrink a long conversation · /clear start fresh
  • /export save the session, useful evidence for your field report
Permission modes matter for the challenge. The default asks before every file write and shell command. plan is read-only, accept-edits stops asking about edits, and auto stops asking altogether. Long unattended sessions are worth points, so learn where this switch lives early.
When it goes wrong

Troubleshooting

The five things people actually hit, and what each one means.

No account found for <your email>.
Ask your organization admin to invite you.
You have not been invited yet, or the invite is unaccepted. Your Microsoft login is fine; the platform simply does not know you. Register for the challenge, then watch for the invite email and click the link in it.
No org context.
You're signed in as <email> but not a member of any org.
Signed in, but not in an organisation. The invite was issued but never accepted, or it went to a different address. Find the invite email and accept it, then run niha login again.
"niha" is damaged and can't be opened
macOS Gatekeeper, not a corrupt download. The binary is not Apple code-signed. Clear the quarantine attribute as shown in the macOS tab above, then try again.
niha: command not found
On Windows, you did not restart your terminal. Open a new window. On macOS and Linux, the install directory is not on your PATH; check with which -a niha and add the directory the installer named to your shell profile.
Error: Interactive mode requires a TTY.
You are not in a real terminal, or output is being piped. Run niha directly in a terminal window, or use niha ask "..." for non-interactive use.
Ignore any instruction to set NIHA_API_KEY. Some older documents still mention it. That environment variable was removed and does nothing. Sign in with niha login.
Found a bug while doing any of this? That is the point of the challenge and it counts for marks. Write it up and file it, including what you ran, what you expected and what you actually saw, verbatim. How to file a finding.

That is the setup done.

Now go build something you would be happy to hand over.

Register for the challenge Read the process