Repository navigation
Releases: RAHUL-DevelopeRR/neuron-v2
Release list
Neuron 7.0.0-alpha.2
The second Neuron alpha, and the first one on npm and PyPI: both packages now install
the new Neuron. It is still a GitHub prerelease. It says clearly when the model
declines a request, keeps the model's reasoning apart from its answer, never runs a
tool call from a reply that was refused or cut off, and lets long answers finish
streaming.
The known limitations of 7.0.0-alpha.1 still apply, except the ones about npm and PyPI.
npm and PyPI
npm install --global @zero-x.live/neuroninstalls this alpha: it is npm's default
latestversion, so@nextis no longer needed. Run the same command to upgrade.- On PyPI the alpha is a pre-release, so pip needs
--pre:
pip install --pre neuroncli(pip install --upgrade --pre neuronclito upgrade). - The old 6.2.x builds (npm 6.2.0, PyPI 6.2.4 and earlier) were built outside the
release pipeline and are unsupported. Upgrade with the commands above. - The GitHub release is still a prerelease, so
install.shandinstall.ps1need its
version (--version 7.0.0-alpha.2,-Version 7.0.0-alpha.2); the README has the
full commands.
Refusals and reasoning
- When the model declines to continue, Neuron says so instead of failing or showing an
empty reply, and keeps whatever the model wrote before. The line REPL ends the turn
with "The model declined to continue this request." and the provider's reason, in
Neuron's words and without provider or model names. The full-screen UI ends the
message with a "Declined" banner of its own, below the answer.--output-format json
reportsoutcomerefusedand arefusalobject (message,note,
tool_calls_not_run); with--compact, the refusal line goes to standard error. - The model's reasoning stays apart from its answer in the line REPL, the full-screen
UI and headless output, and is never part of the JSONmessage. A thinking block no
longer starts with blank lines.
Tool calls and cut-off replies
- No tool call from a refused reply, or from one cut off at the output token limit,
runs, even when its arguments are complete. Each gets an error result saying why,
and the full-screen UI shows such calls as not run. Sub-agents follow the same rule,
and a sub-agent whose stream breaks off runs none of that reply's calls: it tries a
fallback model or fails with a retryable error. - Tool arguments that are not a JSON object, such as arguments cut off mid-stream, go
back to the model as a tool error instead of failing the turn. They are checked
before hooks, permissions or the tool run. - A reply cut off at the output token limit while the model was still reasoning, before
any answer, no longer fails the turn with "assistant stream produced no content". The
turn continues once, telling the model that its reasoning used the whole budget; cut
off again, it ends asoutput_truncated. Neuron now counts the tokens of such a
reply, also in a restored session.
Streams
- A streamed answer has no total time limit, so long answers are no longer cut off at
5 minutes. The connection must open within 30 seconds, and a stream that receives
nothing for 120 seconds (keep-alive messages count) ends with a retryable error that
names the model. - Requests answered in one piece, such as the non-streaming fallbacks, keep their
5-minute total limit and have no idle limit, since their reply arrives only once it
is complete.
Packaging
- Removed a stray submodule entry (
opencode) that had no.gitmodulesURL. It broke
the checkout in the release workflow's npm and PyPI jobs, which is why 7.0.0-alpha.1
never reached npm (PyPI uploads were also paused then). A packaging test now fails on
any such entry. - A manual run of the release workflow chooses the npm dist-tag (
npm_dist_tag:
next, the default, orlatest). A tag push still publishes a prerelease under
nextand a release underlatest.
Install
- Linux / macOS:
curl -fsSL https://github.com/RAHUL-DevelopeRR/neuron-v2/releases/download/v7.0.0-alpha.2/install.sh | sh -s -- --version 7.0.0-alpha.2 - Windows (PowerShell):
& ([scriptblock]::Create((irm https://github.com/RAHUL-DevelopeRR/neuron-v2/releases/download/v7.0.0-alpha.2/install.ps1))) -Version 7.0.0-alpha.2
Every binary has a .sha256 file; SHA256SUMS lists all assets. Verify provenance with
gh attestation verify <file> --repo RAHUL-DevelopeRR/neuron-v2. Third-party licenses: THIRD_PARTY_NOTICES.md.
Neuron 7.0.0-alpha.1
The first Neuron alpha, and the first release built and published by this repository's
release pipeline. It is a GitHub prerelease and carries the work planned as 6.3.0,
which was never released. It adds a full-screen terminal UI, signs in to the Zero-X
gateway with a device code and keeps the login in the OS credential store, makes the
agent loop survive errors, cancellation and long sessions, gates every tool call by
what it actually does, keeps secrets and untrusted workspace settings away from the
model, and sends far smaller requests. Expect rough edges; the known ones are listed
first.
Known limitations
- A prerelease never becomes "Latest", so
releases/latestlinks, the install scripts
run without a version andnpm install @zero-x.live/neurondo not reach it. Install
it by version:
curl -fsSL https://github.com/RAHUL-DevelopeRR/neuron-v2/releases/download/v7.0.0-alpha.1/install.sh | sh -s -- --version 7.0.0-alpha.1,
or in PowerShell
& ([scriptblock]::Create((irm https://github.com/RAHUL-DevelopeRR/neuron-v2/releases/download/v7.0.0-alpha.1/install.ps1))) -Version 7.0.0-alpha.1.
Once the alpha is published to npm, it is@zero-x.live/neuron@nextthere. - PyPI uploads are paused, so the alpha is not on PyPI; the Python launcher follows
later. - The binaries are not code-signed (Windows) or notarized (macOS).
- The full-screen UI's hands-on console checks ran on Windows; this release is its
first build and install test on Linux and macOS.neuron --no-tuikeeps the line
REPL. - In the full-screen UI, shell commands (
!cmd,/bash) are not available yet, the
DEFAULT/LITE/MAX/PLAN mode toggle changes only how a turn is shown, the footer's token
and git counters update when a turn ends, and a key typed in the first moment after
the UI appears can be lost. - The full-screen UI cannot trust a folder yet. Run
neuron --no-tuiin the folder once
and press 1 when it asks, or add the folder (or one above it) totrustedRootsin
~/.neuron/settings.json, then restart Neuron. Until then the folder's own settings,
hooks and MCP servers are ignored. - In the full-screen UI, a
PATHchange from an allowed.envrcreaches the engine, so
the engine's own tool lookups (such asnodeandnpxfor MCP servers) use the
importedPATHand can find a project's tools first, as in a shell that loaded
direnv. That includes commands Neuron runs without asking, such asgit status: a
folder the.envrcadds toPATHcan run that repository's own programs without a
prompt. Only allow an.envrcyou have read. - Hooks run with Neuron's own environment: they inherit every variable Neuron has,
including a session token or key inNEURON_TOKENand provider keys you exported.
They also get the event as JSON on standard input and have no timeout, and Ctrl+C
stops only the hook's own process. Add only hooks you trust.
Full-screen UI
- On a terminal,
neuronwith no prompt opens a full-screen UI,neuron-tui. It is a
port of the Codebuff/Freebuff terminal UI (Apache-2.0; OpenTUI and React on Bun),
with Codebuff's services, ads, billing and telemetry removed. It runs the Rust
neuronas its engine overneuron engine --stdio. It shows streamed replies,
tool calls with their output, a permission dialog (allow once, allow for the
session, deny, deny with a note; Esc denies, Ctrl+C denies and interrupts the turn),
the Zero-X sign-in with the device code (/login), a model picker (/model) and a
footer with the model, git state, tokens and context use. - Releases ship
neuron-tui-<target>beside eachneuron-<target>, with checksums and
build provenance. The installers and the npm and pip launchers put it beside
neuron(verified, and never failing the install).--no-tuiorNEURON_NO_TUI=1
keeps the line REPL, and without the UIneuronruns the line REPL as before. - The UI imports an allowed
.envrcthrough direnv, minus the variables that would
reconfigure Neuron:NEURON_*,CLAW_*,CLAWD_*and the engine's other
compatibility variables (such as the one that sets its default permission mode),
the providers' keys and endpoints (OPENAI_*,ANTHROPIC_*and the like),HOME,
USERPROFILE,XDG_CONFIG_HOME,GIT_CONFIG*, and the Node, Bun, TLS and preload settings
(NODE_OPTIONS,NODE_EXTRA_CA_CERTS,SSL_CERT_FILE,LD_PRELOADand the like).
The UI's log names what was dropped. The engine is found on thePATHfrom before
the import. - The React/Ink prototype in
ui/react-tuiis removed. neuron --continue [CHAT]reopens a chat in the UI (the latest one for this folder,
or CHAT) in the chat's own folder and on its own model, also after a turn that was
interrupted. Chats are kept per project path, chats with only slash commands in them
are skipped, and the UI keeps its chats, settings and logs in~/.neuron/tui
($NEURON_HOME/tuiwhenNEURON_HOMEis set). The--continuehint printed on exit
stays on screen.- NeuronCLI's brand colours: the NEURON logo draws each letter in its colour, as
neuron's banner does, with blue accents and borders, an orange user line, cyan links
and inline code, green success and red errors. The light theme uses a darker cyan and
orange that stay readable on white. - In a classic Windows console window (Windows PowerShell 5.1 or cmd on Windows 10) the
UI draws with characters the console fonts have (square corners,√ ×,► ▼ ▲,
ASCII for emoji) instead of?boxes;NEURON_TUI_ASCII=1or0overrides the
choice. The window is titled "Neuron" while the UI runs and gets its own title back at
exit, and a TrueType font that a PowerShell start had switched to the raster font is
restored. - Quitting (
/exit, Ctrl+C twice) keeps a classic console window and its shell open.
A command typed right after quitting reaches the shell whole and runs, andneuron
gives the console its input mode back after the UI exits, even when the UI was
killed, so cmd's Up arrow keeps working. - While the UI runs,
neuronwatches the terminal and resets it if the UI dies. - Keys that arrive faster than the screen redraws (a held Backspace, a burst from the
console, Enter right after the last character) act on the latest text, so quick
Backspaces delete every character and Enter sends the whole prompt. The chat input
takes keys even while the terminal last reported that it lost the focus. - Retry notices appear above the answer, and a retry replaces the failed attempt's
text. Failed or refused tools say how they ended (exit code, timed out, killed,
interrupted, blocked) and show their output; an interrupted tool reads "stopped
(interrupted)". A question from the model (AskUserQuestion) is shown in place with
its answer. Markdown keeps soft line breaks, nested list indentation and Windows
backslashes. /statusshows the Zero-X account and, in an untrusted folder, what that means and
how to trust it. The footer shows the account email and drops parts by priority on a
narrow terminal; an expired or revoked login says so. The model picker opens on the
current model, greys out unavailable models with the reason and marks degraded and
busy ones. The sign-in link keepshttps://and is clickable.- An engine that crashes is reported once, and the UI then exits with code 1.
Zero-X gateway and sign-in
neuron loginsigns in with a device code: it prints
https://neuron.zero-x.live/deviceand a short code, opens the browser when the
machine has one (never over SSH, in containers or with--no-browser/
NEURON_NO_BROWSER), and polls until the code is approved on that page. No local port
is opened, so it works over SSH, in WSL and in containers. The answer from the gateway
is checked before anything is printed (code format, an https link on a Zero-X host),
and only a CLI session is accepted from it. This replaces the browser callback on a
loopback port.neuron login --with-token(reads ases_session ornzx_API key from standard
input),neuron auth status(checks the credential with the gateway and prints plan,
expiry and today's usage; an expired or revoked login reads as signed out and exits- and
neuron logout(revokes the session on the gateway).neuron auth login|logoutstill work./loginand/logoutrun the same flows in a session.
auth,login,logout,usageandupgradeare found after global flags, and
--output-format jsongives JSON results for them.
- and
- The login is kept in the macOS Keychain or Windows Credential Manager, otherwise in
~/.neuroncli/credentials.json(owner-only) with a one-time warning; isolated homes
(NEURON_HOME, a redirectedHOME/USERPROFILE) never touch the OS store, and
NEURON_CREDENTIAL_STOREforces a backend. The old self-decryptinggateway.encis
migrated once and deleted. A corrupt entry warns and reads as signed out. - Provider selection:
NEURON_TOKEN, then--provider/NEURON_PROVIDER/ the
providersetting, then the stored Zero-X login, then provider keys in the
environment. One startup line names the provider, the credential source and why it
was chosen. Credentials are handed to the HTTP client in memory and are no longer
exported into the process environment. - The model catalog (
GET /v1/models) is fetched once and cached for 10 minutes per
credential;/modellists it with availability, tiers and context windows, warns
about unknown or unavailable ids and completes catalog ids. - The full-screen UI's model list refreshes availability from
/v1/models/statusat
most every 30 seconds, falling back to the catalog, and a model whose
available_again_athas passed reads as available. Theopenai/routing prefix is
no longer shown in model names,/status, the context report or JSON output. neuron usageand/usageshow plan, today's usage with the reset time and
credits...