Niluxv1.0.26
/changelog

Every release. Every fix.
In one page.

Every release and every fix, in one page. Follow what we ship and what changed — subscribe to the feed to keep up.

latest · v1.0.26RSS · /changelog.xml
v1.0.262026 · 09 · 10minor

A cheaper Standard, and a steadier session

Nilux Standard now costs a third less per million tokens. Alongside it: tool results that stay paired with the calls that asked for them, delegated agents that can use every tool they are offered, and a conversation that keeps working when the connection does not.

Added

  • Nilux Standard costs less: input, output and cached input all bill below their previous rates — about a third less on a typical conversation. Peak windows and their 2x factor are unchanged, and every charge keeps the price that was in force when it happened. Current rates are on the pricing page.
  • A running session can be given a task from the terminal, without interrupting what it is doing.
  • An update is offered when you start, instead of being installed behind your back.
  • Search now tells you which heavy directories it skipped, and Bash reports how much output it actually cut.

Improved

  • A delegated agent can use every tool it is offered. Several compound-named tools were listed for it and could never actually run.
  • A message from another session on your machine is now a point you can rewind to, and it stays marked as arriving from a neighbour rather than from you.
  • A conversation no longer stops while there is still plenty of room, and /compact is budgeted against its own request instead of the turn before it.
  • You can see which tool is being assembled while the assistant is still writing it.
  • Nested shell commands can no longer inherit an allow rule granted to the outer command.

Fixed

  • Interrupting a batch of tools keeps every result paired with the call that asked for it, live and after a restore.
  • A shortened tool result reads the same live and after /resume or a dropped connection.
  • A failed search no longer looks like "no matches", and a truncated result no longer looks complete.
  • Read and Edit agree about line numbers.
  • A failed tool's output survives /resume; terminal notices and prompt suggestions stay out of the conversation.
  • Forked conversations keep their code checkpoints.
  • A delegate that failed, was stopped, or ran out of balance is reported as such instead of as finished, and returns the work it did manage.
  • Image analysis is charged to the turn that asked for it, including several delegates working at once.
  • A connection retry no longer repeats the model's reasoning, and a timed-out stream no longer looks complete.
  • Cancelling a Skill restores the full tool set; /compact works immediately after cancelling a batch of tools.
v1.0.252026 · 09 · 07minor

Every agent has a chat of its own

Delegated agents live in a list under your prompt. Open any of them, read its work as a conversation, and write to it — running or finished.

Added

  • A list of agents under your prompt: type, task, model, tools, tokens, time, current action. Down arrow or Alt+A to enter, Enter to open, Ctrl+X to stop.
  • Open an agent and read its work as a conversation. Write to it there: a running one takes it between steps, a finished one resumes with its full history.
  • Agents survive a server update — their conversation is kept on your machine.
  • The caret is muted while the terminal window is not in focus.

Improved

  • A finished agent leaves the list after a minute; a compact or a resume clears them at once. The assistant can still continue any of them.
  • A background agent's report arrives whole. It used to be cut at four thousand characters together with its raw transcript.
  • A finished agent opens on its report instead of an empty screen.
  • Several agents finishing at once no longer buy extra turns.

Fixed

  • An approval dialog with agents listed under it could leave the terminal unreadable.
  • With the agent list in focus, an approval dialog took no keystrokes at all.
  • A resumed agent lost its type and its tool count.
  • Walking up out of the list dropped your last message into the prompt.
  • Backgrounded agents stayed on "Initializing" for good.
  • Writing to a running agent made it re-read its whole run.
v1.0.242026 · 09 · 05minor

Sessions that talk to each other, and an agent that knows your project

Two sessions on one computer can ask each other what they know, a delegated agent inherits your project's instructions, and you can tell a running agent something without stopping it.

Added

  • Two sessions on one computer can talk. Ask the assistant and it sends your question next door, waits, and brings back the answer. One account, one machine, one system user.
  • You can tell a running agent something without stopping it. It arrives between steps, and you are told whether it landed, was queued, or came too late.
  • The bottom line shows the repository: branch, commit, changed and new files, how far ahead or behind, and an open pull request you can follow. It fits the window, dropping the least useful part first.

Improved

  • A delegated agent inherits your project's instructions — global nilux.md, the project's file, its rules. Before, it knew the working directory and nothing else, yet could write files. Whole or nothing: a trimmed set of rules reads as complete. Explore goes without them.
  • A multi-agent run asks before it starts. One file write needed approval; several agents editing unattended did not.
  • A delegated agent follows your /effort level instead of its provider's default, and is told its system and shell. Nothing changes if you never set a level.
  • A command sent to the background keeps what it printed; one waiting its turn no longer counts time it has not spent.
  • Declining a tool reads as your decision, not an interruption, so the assistant moves on instead of retrying.
  • A long file is written in one go — the write tool claimed a limit twenty times smaller than the real one.
  • A read that returned an image shows under a heading of its own instead of looking like any other file read.

Fixed

  • An agent that crashed, was stopped, or hit the loop guard is no longer reported as finished, and the work it did comes back.
  • Agents launched together no longer swap results — each answer is matched to the call that asked for it.
  • A background agent's report starts with its findings, and its completion notice arrives with the request it was written for.
  • Resuming an interrupted agent works; the restored conversation used to be rejected outright.
  • An image no longer vanishes without a word — its mention stays even when the file cannot be attached.
v1.0.232026 · 08 · 28minor

Commands that say what happened, and a background agent that is still an agent

A tool result now tells the assistant what actually happened, so it stops re-checking what it already found out; an agent sent to the background keeps every tool and can still ask; and answers come in the language you write in.

Added

  • An agent in the background is a full agent — it keeps the same tools and asks for approval like any other. It used to be silenced rather than made quieter, so anything that needed writing or running simply did not happen. Ctrl+B now backgrounds a Task agent too, continuing the work already started rather than paying for it twice.
  • Closing the CLI ends the session. The model runs on our server, so a closed terminal used to cut only your view of it — the work carried on out of sight, and so did the spending.
  • An agent asks before it reaches an MCP server, and "always allow" is remembered for that one tool rather than the whole server.

Improved

  • A command says what it did. A silent success arrived as emptiness, a search that matched nothing was reported as a failure, and a failing command lost everything but its first line — so the assistant re-ran things to find out. On the reasoning model this cut the commands for such a task threefold.
  • Answers come in the language you write in, even with no language set — until now nothing said which to use, and the result depended on the model. The explanation beside a command you are asked to approve follows the same rule.
  • After a compact the work continues instead of starting over: what is finished is marked finished.
  • The context percentage no longer disappears while the cache warning is on screen — they sit side by side now.
  • Weekends are billed at the standard rate, on the same calendar the provider bills by.
  • The loading line carries a smooth travelling highlight instead of a colour that jumped letter by letter.

Fixed

  • A path at the start of a message is no longer taken for a mistyped command, and a /compact pasted from a chat works — invisible characters used to break it.
  • A turn no longer repeats the same empty call until its budget runs out. The last real result is kept and the repeats are not charged.
  • An agent cannot overwrite a file it never read, and no longer reports success for a skill whose instructions never reached it.
  • Messages sent in a burst after a reconnect are read as one turn instead of being answered one at a time.
v1.0.222026 · 08 · 25minor

An approval that explains itself, and a sign-in that asks who you are

The approval dialog now says what a command will actually do, in your language; the CLI signs in with Google or GitHub; and pairing a terminal asks you to sign in again rather than trusting an open browser tab.

Added

  • An approval explains the command — the dialog says why it is needed, what it touches and whether it changes anything, in the language you set, instead of "Critical operation" for everything.
  • Sign in to the CLI with Google or GitHub — an account created that way has no password, so until now there was nothing to pair a terminal with.

Improved

  • Pairing a terminal asks you to sign in again — an open browser tab is no longer enough, so a session left behind on someone else's computer cannot be turned into access to your account.
  • Reading a page from the web costs less on Pro — pulling the text out always runs on the cheaper model now, which changes nothing about the answer.
  • The assistant knows where a conversation's images are kept, and they follow it through /compact and /rewind instead of staying behind in the old one.
  • A language you set is checked before it is used, and you are told if it had to be cleaned up or could not be used at all.

Fixed

  • The assistant no longer tries to call a tool named Suggestion that does not exist — it looked like a step that started and returned nothing.
  • Commands that ask for a password of their own — psql among them — no longer ask off-screen on Windows, leaving the assistant waiting for an answer you never saw.
v1.0.212026 · 08 · 22minor

Images the model looks at, and that survive a restart

The model now looks at your screenshots itself, images stay with a conversation across restarts, and image generation is back — rebuilt, with quality, size and format your call.

Added

  • Images the model sees itself — a pasted screenshot goes straight to the model instead of being described by another one, so it answers knowing your project.
  • Images survive a restart — pictures are kept with the conversation and come back with /resume, instead of leaving blind spots the model still believed it could see.
  • Image generation is back — the engine it ran on was switched off by its provider; it has moved to a new one and been rebuilt.
  • Quality is your choice — one dialog before anything is spent, with the price and rough time for each option. Esc cancels while it is still free.
  • Transparent backgrounds — a real alpha channel for icons, logos and overlays.
  • "In this style" — read an existing image and ask for a new one in its manner.

Improved

  • Size and proportions follow your request, not the quality you picked.
  • The output format follows the file extension — .webp, .png, .jpg.
  • Generation runs in the background — the assistant keeps working and tells you when the file is ready.
  • /rewind brings the picture back along with the text.

Fixed

  • Several images pasted into one message all reach the model — one worked, two silently arrived as none.
  • Switching models mid-conversation no longer tells the new one it can see images it cannot.
  • Quoted text in answers is readable again — it was rendered too dim to follow.
v1.0.202026 · 08 · 19patch

Tools that finish, and errors that say what happened

A batch of file writes no longer leaves half its tools stuck on "Running...", and two error messages stop hiding the real reason behind a generic one.

Fixed

  • Tools in a batch no longer freeze on "Running...". When the model created several files at once, all but the first kept that label until you resized the window — as did a single tool behind a tall approval dialog.
  • A retry says why it is retrying. Whatever the reason, the status line always read "Rate limited" — so a dropped connection looked like the provider throttling you.
  • Sending an image to a model that cannot read images says exactly that, instead of "Something went wrong on our side".
v1.0.192026 · 08 · 18patch

A conversation that comes back exactly as it left

Resuming or reconnecting now hands the model precisely what it had — no silently missing context, no full-price re-read — and the CLI stops showing the wrong model after a reconnect.

Fixed

  • Restoring a conversation is now exact. After a CLI restart or a dropped connection the restored conversation could differ from the live one with nothing on screen to show it — the model lost part of its context and carried on without it, while the provider re-read the conversation at full price. /resume and reconnects now return exactly what the model saw: skill invocations and /init with their full content, the note about attached images, turns where the model only reasoned, and the correct tail of a turn stopped with Esc.
  • Reasoning that preceded a tool call survives a restart. It used to be dropped, so the model continued without its own conclusions — on large tasks that was half the context gone.
  • An approval dialog no longer outlives the connection that created it. Answering an orphaned one used to leave a spinner running for a turn that no longer existed.
  • After a reconnect the CLI shows the model you are actually working on. It could display the default one instead — in the status bar and in /model — while the conversation continued on the model you had chosen, and the re-read price in the cold-cache hint was quoted for the wrong one.

Improved

  • MCP servers can write into the session scratchpad. Put ${SCRATCHPAD} in a server's arguments or environment and it expands to a temporary folder for this project and session. Servers that save files — screenshots, traces — used to drop them into a folder inside the repository, where they turned up in git status.
  • The peak 2x badge stays visible when the cache has gone cold. The cold-cache warning used to take the whole status line and hide it — even though the price it quoted already included the peak factor. Both are shown now, so the figure explains itself.
  • Clipboard cleanup is gentler: copying something new while the previous copy was being cleaned could overwrite it. The clipboard is re-checked immediately before writing, so a copy you just made is never touched.
v1.0.182026 · 08 · 16patch

Clean copies, documents unlocked, and a doctor in the box

Terminal copies finally paste as clean text, Read opens PDFs, Word, Excel and notebooks, and a new /doctor diagnoses the setup in one block.

Added

  • Clean terminal copies — select with the mouse as usual; the clipboard gets real text instead of a grid picture: wrapped lines rejoined, split words made whole, interface indent stripped, code keeping its own indentation. A copied N chars note confirms each cleanup; toggle in /config.
  • PDF reading — page-addressed text with tables kept aligned (pages="3", ranges, comma-lists); pdf_image shows a page's main image, pdf_render draws the whole page — scans and broken fonts included.
  • Word & Excel — .docx as text, headings and aligned tables; .xlsx sheet by sheet (sheet="Name") with formulas as results; offset/limit page through long documents.
  • Jupyter notebooks — cells with their outputs instead of raw JSON noise.
  • /doctor — one copyable block: version freshness, server health, connection, every MCP server with its failure reason, install integrity. Also nilux doctor from the shell.

Fixed

  • Long silent commands no longer freeze the turn — interrupts stop the whole process tree and a result is always reported; over-timeout commands move to the background.
  • Multi-line paste collapses to its compact marker in every input — plan feedback, question answers and the agent wizard included.
  • No more “anything else?” question loops — repeated questions are capped and stubborn re-asking ends the turn.
v1.0.172026 · 08 · 15patch

Steer the reasoning, see the peak hours coming, and turns that never stall

A new /effort command trades speed against depth of reasoning, the status bar warns before provider peak hours start billing at 2x, an opt-in Auto-Compact keeps long automation runs going when the context fills — and the per-turn tool limit is gone.

Added

  • New /effort command — a three-level slider for how deeply the model reasons: low is faster and cheaper for routine edits, high is the balanced default (unchanged behavior), max digs deepest for the hardest tasks. Works on the reasoning models (Standard and Pro).
  • The choice applies to the current conversation and is remembered for new sessions. The dialog is honest about the cost: changing the level mid-conversation re-reads the context at the uncached price — and shows the figure before you confirm.
  • Provider peak hours are visible before they bill, not after. From August 16, usage during the provider's peak windows (01:00–04:00 and 06:00–10:00 UTC) is billed at 2x the listed rates — the status bar now shows a peak 2x badge while a window is active, warns ten minutes before one opens (peak 2x in 8m), and drops a short note in the chat when a window starts and ends, with the exact end time.
  • New Auto-Compact toggle in /config (off by default): when the context window fills, the conversation is condensed automatically and the work continues — instead of pausing for a manual /compact. Built for long unattended runs where stopping mid-task is worse than the price of condensing. Off, everything behaves exactly as before.

Improved

  • The per-turn tool limit is gone. Large jobs — bulk edits, project-wide translations — used to stop mid-task at 200 tool calls with a “limit reached” report even though nothing was looping. A turn is now bounded only by the context window, and Esc still stops the work instantly at any moment.
v1.0.162026 · 08 · 14patch

See what a conversation costs, as it runs

The status bar now shows the running cost of the current conversation — real charges, subagents included, ticking live. And a dropped connection can no longer leave the UI stuck on an eternal "Generating…".

Added

  • The bottom status bar now shows the active model and the running cost of the current conversation: Pro · 43% · $0.87. Always visible, no command needed.
  • The counter shows real charges, not an estimate: subagents, workflows, image analysis, web search and /compact are all counted. While subagents work in the background the number ticks in real time — no need to wait for the turn to finish to see what it is costing.
  • Each turn's cost is stored in the conversation journal at the price in effect when it ran: /resume restores the total instantly, and a later price change never re-prices history. /rewind and /compact carry the spend into the continuation; /clear starts a fresh conversation from zero. Your balance and dashboard always show the full picture either way.

Fixed

  • A connection drop in the middle of a response could leave the UI stuck on "Generating…" forever with a frozen token counter, forcing a CLI restart. Now the spinner stops immediately, unfinished tools are marked interrupted, and an honest message appears: the request was cut short — send it again.
  • Esc now always answers: even when the server has nothing left to cancel, the client gets a confirmation and hands control back — getting stuck waiting is no longer possible.
  • Reconnecting after a network drop now always reattaches to your live session rather than a blank one — work in progress continues where it left off, and the conversation cache is fully preserved, so nothing is re-read at your expense.
v1.0.152026 · 08 · 09patch

A rewind you can trust, and a tidier project

Rewinding now finishes in seconds and cleans up properly — files it created included — and hands you the message you rewound to, ready to resend. Temporary files move to a per-session scratchpad instead of your project tree.

Improved

  • Temporary files stop piling up in your project: each session gets its own scratchpad folder outside the project tree, where the assistant keeps throwaway scripts, intermediate results and debug output. git status no longer fills with leftovers after a working session.
  • Scratchpad file operations show up as Scratch instead of Write/Update — a draft is visible at a glance — and they need no approval dialog. Works in resumed sessions too.
  • After a rewind, the message you rewound to appears in the input box — edit it and send again instead of retyping it from scratch.
  • The assistant now gets a detailed note about a rewind — which files went back to their earlier state and to which message the conversation returned — so it does not repeat the approach you rolled back.

Fixed

  • Rewinding no longer ends with “Local Agent did not respond within 60 seconds” while the files were actually restored — it completes in seconds and honestly reports how many files came back, on large projects and in folders under cloud sync (OneDrive/Dropbox) alike.
  • Files the assistant created after the rewind point are now removed reliably — cloud-synced folders included — with a recoverable copy kept in case you want them back.
  • Images and other binary files stay out of rewind entirely — they are never corrupted or rewritten by a restore.
  • An edit preview no longer flashes for a split second and then turns into a “file has not been read yet” error — until the file is read, the preview simply is not shown.
  • /rewind during a response now asks you to stop it first (Esc) instead of quietly breaking the conversation state.
v1.0.142026 · 08 · 08patch

Nothing slips away in a long session

A long conversation no longer loses its beginning without telling you — it stops with a clear choice instead. Nothing you type goes missing, and rewinding keeps a copy of everything it changes.

Improved

  • The context indicator and the point a turn will stop are now the same number — 100% on the bar is exactly that limit. When a conversation grows too long it stops and offers /compact or /clear, instead of quietly carrying on with part of it forgotten.
  • /compact on a long conversation is faster and noticeably cheaper.
  • A request for approval waits while you are typing — it holds until you pause, with “Waiting for permission…” shown above the input, and Esc reveals it at once.

Fixed

  • Nothing you type is lost: an interrupted turn returns queued messages above your draft instead of over it, a draft survives scrolling through history with the arrow keys, and an interruption while idle no longer silently drops the queue.
  • Rewinding to an earlier point keeps a recoverable copy of every file it changes or removes, and a damaged session index is preserved rather than discarded — nothing it touches is lost for good.
  • Shift+Enter starts a new line in terminals that send it as a special sequence (VS Code among them), instead of dropping a paste marker into the prompt.
  • A code block labelled with a language the highlighter does not know no longer smears fragments of a warning across the conversation — it renders as plain text.
  • Creating an agent with /agents → generate with AI holds together instead of coming back empty, and after pasting an image the cursor now lands after it rather than before.
v1.0.132026 · 08 · 05patch

Waking up where you left off

A message written while the connection is still coming back no longer reaches an assistant that has forgotten the conversation. Long commands and links stay readable, and working with MCP tools is steadier.

Improved

  • Working with MCP tools is steadier: steps fail less often, and fewer attempts are wasted getting one to run.
  • They stay just as reliable after a /compact, a /resume, or rewinding to an earlier point in the conversation.

Fixed

  • A message written straight after the machine woke from sleep could be answered as though the conversation had never happened, and on a different model than the one you had chosen. Asking again cost extra. Neither happens now, and nothing you write is lost.
  • A long command or URL arriving at the end of an almost-full line came out one character per line, running down the terminal instead of wrapping. It happened most often in a command awaiting your approval, where the address is exactly what you need to read before deciding.
  • A line ending in Japanese, Chinese or an emoji could run one column past the edge of the terminal, leaving the text below it slightly out of place.
  • A request for a tool that does not exist was reported as a shell command that had gone wrong — one that was never run.
v1.0.122026 · 08 · 03patch

The prompt keeps up, whatever your machine is doing

Typing on a busy machine no longer scrambles characters, a held backspace deletes properly, and a huge paste collapses to one line. Reading back through a conversation survives whatever is written below it.

Improved

  • A multi-line paste collapses to one line — [Pasted text #1 +790 lines] — and behaves as a single character: the cursor steps over it, deleting any part removes it whole. The full text is still sent on Enter.
  • Esc twice empties the prompt. On an empty prompt it still opens the rewind list.

Fixed

  • Typing on a busy machine could swap characters around.
  • Holding backspace filled the prompt with invisible characters instead of deleting.
  • Arrow and function keys could print their raw codes instead of moving the cursor.
  • A paste arriving in pieces could come out shuffled, or stall until it timed out.
  • A code block appearing while you were scrolled up threw you back to the top of the conversation.
  • A brief connection drop mid-reply ended the turn; it is now waited out and retried.
  • A warning printed across the startup screen on newer Node versions.
v1.0.102026 · 07 · 25patch

Long sessions keep their context — and their price

Reconnects, /compact and /resume no longer rebuild your conversation from scratch — a session comes back exactly as it was, and costs a fraction of what it used to. Plus faster web lookups and a cleaner terminal.

Improved

  • Session context survives everything — a dropped connection, a sleeping laptop or a server update no longer costs you your context. The session comes back with everything it had, and the model keeps working from the same understanding instead of quietly losing part of it.
  • Near-free reconnects — rejoining a conversation used to be billed as though it were new. It now costs a small fraction of that.
  • Cheaper /compact — summarising a long conversation is now both faster and dramatically cheaper.
  • Faithful /resume and rewind — the conversation is restored exactly as it was rather than rebuilt approximately, and keeps the same pricing benefit.
  • Parallel web lookups — when the assistant looks several things up at once, the requests now go out together instead of one after another, so a batch takes about as long as the slowest one rather than the sum of all of them.
  • Lookups no longer block the turn — files read in the same step appear straight away instead of waiting behind the network. Anything you still have to approve is untouched and runs in order, exactly as before.
  • Clearer fetches — fetching a page now shows the address instead of the long instruction that goes with it, and reports how much was actually downloaded and how the site answered.
  • Dashboard — cached usage is now shown as a percentage, and the usage chart's tooltip includes what you spent that day.

Fixed

  • Resuming a session immediately after launching the CLI could leave the assistant with none of your history — the terminal showed the conversation while the assistant had nothing. This was worst right after a /compact, where the summary is the entire conversation. The history is now held and delivered as soon as the connection is up.
  • /resume no longer offers conversations whose transcript is gone — those opened as a blank session with no explanation. The list now shows only what can actually be restored, and cleans itself up.
  • A session now appears in the list from its very first message. Starting a conversation and closing the terminal within a few seconds could previously leave it off the list entirely, even though it was saved.
  • Resuming a conversation no longer shrinks it in the list: it keeps its real message count and its original first line instead of being relabelled after your next message.
  • /rewind now lists only your own messages — internal bookkeeping entries no longer appear as things you can roll back to, and the restore-code marker lands on the right message.
v1.0.92026 · 07 · 20patch

Memory lifecycle now works end-to-end

Closing or replacing a memory no longer hangs, unsupported actions fail fast instead of stalling for minutes, and external (MCP) tools report their parameter types correctly.

Improved

  • Sharper external (MCP) tool details — tools whose parameters reused a shared shape sometimes showed up as untyped, leaving the model to guess arguments. Parameter types are now always resolved and shown correctly, so third-party MCP tools are more reliable.

Fixed

  • Memory lifecycle — closing or replacing a memory, marking work resolved or superseded, could hang for two minutes and then fail. It now completes instantly. Recalling and saving were never affected.
  • No more long hangs on unsupported actions — if the assistant attempted something this version could not handle, it used to sit on Running for about two minutes before timing out. It now fails fast with a clear result, so the model adapts immediately instead of retrying blindly.
v1.0.82026 · 07 · 18minor

Recall your past sessions

Nilux can now search and read its own past sessions for the current project — recall what you did, where you left off, or where you discussed something, straight from your real chat history. Plus leaner handling when you have many external (MCP) tools connected.

Recall your past sessions

  • The assistant can now search and read its own past chat sessions for the current project — ask "what did I do last session", "where did I leave off", or "find where we discussed X", and it answers straight from your real conversation history.
  • Four ways to look back: read a previous session, search across all your sessions, list recent sessions, or pull the compact summaries of what was decided.
  • It shows when and who — timestamps, and whether it was you or the assistant — reports how far back your history goes, and pages through results, so recall is precise rather than a wall of noise.
  • Different from project memory: memory is your curated notes and decisions; this searches the actual verbatim chat history for when memory doesn't have the answer.
  • Stays in the current project and reads only your own sessions.

Leaner external (MCP) tools

  • Connecting lots of MCP servers no longer floods the model's context: it now sees a compact menu of every connected tool (name and what it does) and loads a tool's full details only when it actually needs one.
  • Faster and cheaper sessions when you have many external tools connected — and the model picks the right tool by name instead of guessing, so external integrations are more reliable.
v1.0.72026 · 07 · 03minor

Permission modes, Plan mode & account tools

Decide how much Nilux confirms with you — from reviewing every action to full autopilot — and get a plan before any code is touched. Plus in-app notifications, a referral program, email verification, and account linking.

New

  • Permission modes — four approval modes: default, accept edits, plan and auto. Cycle them with Shift+Tab or via /mode (/mode auto jumps straight there). Even on full-auto, dangerous commands like rm -rf always stop for your confirmation.
  • Plan mode — Nilux researches read-only and proposes a step-by-step plan before touching anything; approve it to start, or send notes to revise. Your approved plan is saved and survives /clear.
  • Plan model — optionally run planning on a stronger reasoning model while everyday work stays on your usual one. Set it in /config.
  • In-app notifications — a notification bell with an unread badge and history: top-ups, low balance, referrals, refunds and more.
  • Referral program — invite friends; when they top up, you both earn a discount on your usage. New accounts also get a starter promo.
  • Email verification & password reset — confirm your email at sign-up, reset a forgotten password from the login page, and set or change your password in settings.
  • Connected accounts — link your Google and GitHub accounts from settings.

Improved

  • Real usage insights — the dashboard usage chart now shows your actual spend over time, with calendar-scoped stats.
  • Low-balance heads-up — a banner appears in the CLI when your balance is running low.
  • Inline command hints — typing a command like /mode shows the available options, and a partially typed command highlights the best match.
  • More reliable mode switching with Shift+Tab in Windows terminals.
  • Resource-heavy MCP tools now get more time before timing out.

Fixed

  • Steadier terminal output — removed a periodic idle flicker and corrected the approval-dialog timer.
defaultconfirm actions
accept editsauto-approve edits
planplan before doing
autohands-freerm -rf still guarded
v1.0.62026 · 06 · 01minor

Browser sign-in, stronger security, and accurate billing

A big update: sign in from your browser (Google & GitHub), noticeably stronger account security, more accurate billing, safer file editing, and faster, cheaper long sessions.

New

  • Sign in with Google and GitHub — new “Continue with Google” and “Continue with GitHub” buttons on the login and register pages: one-click sign-up and sign-in, no password to create.
  • The CLI now signs in through your browser too — running nilux opens the same login as the website (Google, GitHub or email). No password is typed into the terminal; if you’re already signed in on nilux.dev, pairing is a single click. Accounts created with Google or GitHub can now sign in to the CLI.
  • The model now stays aware of mid-session changes — when the date rolls over it knows the current date, and when you make a new git commit it reflects the repository’s current state (handy if you ask what changed).

Improved

  • Strengthened account and session protection.
  • Changing your password now ends all active sessions on every device.
  • Minimum password length at registration is now 8 characters.
  • Faster, cheaper long sessions — your session environment (file tree, git state, notes, date) is read once at startup and reused for the whole session, so the model’s context stays cached far longer and you pay a cheaper rate instead of reprocessing the whole conversation.
  • After a connection drop, reconnecting no longer rebuilds context from scratch — near-instant session restore.
  • Long, tool-heavy turns now compact context mid-turn instead of failing when it fills up.
  • Balance top-up is now more reliable; the top-up range is $5–$500.
  • Refreshed the CLI loading spinner.
  • File diffs now color line numbers by change — green for added lines, red for removed.

Fixed

  • The per-turn cost is now shown correctly (it could previously read $0.00 while your balance was still charged); image cost is priced correctly too.
  • Small amounts are no longer rounded down to $0.00 on the Usage page — you see the real cost (e.g. $0.0001).
  • The Edit tool corrupted text containing $ (shell scripts, regex, variables $1/$$, template strings) — the replacement is now inserted exactly as written.
  • Edit now requires a unique match or an explicit “replace all”, so an edit can no longer land on the wrong place by accident; “replace all” now actually works (it was previously ignored).
  • Creating or writing a file no longer silently produces an empty file — it returns an error if the content is missing.
  • Rewind no longer loses your changes on case-sensitive file systems (Linux).
  • A new message sent while a response is streaming is now queued instead of starting a second response in parallel (which could scramble the conversation and double-count usage).
  • If some output couldn’t be recovered after reconnecting, you’re now told — instead of a silent gap.
  • Fixed occasional duplicate-message glitches during fast streaming.
  • Smoother terminal rendering — no more flickering or screen “jumps” on long tool output and approval dialogs, even when the content is taller than your terminal.
nilux authopen in browser to pair
browserwaiting for confirmation…
pairedvia google✓ ready
v1.0.52026 · 05 · 30minor

Resilient Reconnect

A connection drop mid-task — Wi-Fi, router reboot, laptop sleep — no longer breaks your session. It reconnects on its own and the running task continues from where it stopped, with nothing lost and no need to resend.

New

  • Transparent reconnect — a dropped connection reconnects automatically and the running task continues from where it stopped. No "send it again".
  • Live task resume — the in-progress request keeps executing on the server during the outage; you rejoin it seamlessly.
  • 10-minute reconnect window with smart backoff, replacing fixed retry attempts — survives sleep and long network drops.
  • Model context (KV cache) preserved across reconnects — no slow, costly context rebuild.

Fixed

  • No lost output — tokens, tool calls and results produced during the outage are replayed in order, exactly once.
  • Approvals survive disconnects — confirming an action while offline is preserved and applied on reconnect.
  • Parallel and batch tool calls no longer hang after a drop.
  • Duplicate-action protection — a tool never runs twice after reconnect.
  • Skills now accept inline arguments — invoke a skill and pass a message on the same line, e.g. /skill-name args....
v1.0.42026 · 05 · 21minor

Built-in Memory + Cloud Sync

Model remembers decisions, bugs, patterns and context across sessions. Two-way sync between devices. MCP fixes.

New

  • Built-in Memory — a global, cross-project memory. The model remembers decisions, bugs, patterns, conventions and context across sessions, and can recall knowledge from any other project while working in the current one.
  • A full memory toolset — recall, search and link memories, track goals, and store reusable patterns.
  • Cloud Sync — two-way memory sync between your devices: automatic download on startup, upload after each change.
  • Stored locally on your machine. Works on any Node.js 18+ with no extra dependencies.

Fixed

  • MCP disable now persists to config (not reset after restart).
  • MCP disconnect no longer auto-reconnects.
  • Improved sync stability.
v1.0.32026 · 05 · 18minor

Background Workflows + Live Progress

Workflows can now run in the background. Press Ctrl+B during execution and keep working — the workflow runs autonomously with live status updates.

New

  • Background Workflow (Ctrl+B) — send any workflow to background and continue working.
  • Live status updates in real time as a workflow runs; the full output is saved to ~/.nilux/bg-tasks/<id>.output.
  • Session recovery — /resume restores full workflow state after a terminal crash.
  • 3-role workflow: Planner → Coder → Reviewer. Plan shown before execution for approval.

Changed

  • Workflow now uses 3 roles instead of 4 — the Tester role was merged into Reviewer.

Fixed

  • Faster workflow start — removed a startup delay.
  • ESC correctly stops the workflow and returns control to the main agent.
  • Approval dialog no longer hangs after ESC.
plannerplan readycompleted · 12s
coder8 files changedcompleted · 45s
reviewer2 findingsrunning · 8s
v1.0.22026 · 05 · 12minor

Prompt Suggestions + Emoji Tables

TAB completion with LLM-generated suggestions, proper emoji width handling in tables, and WebSocket auto-reconnect.

New

  • Prompt suggestions — the model proposes a continuation as ghost text at the end of its reply; press TAB to accept.
  • Automatic WebSocket reconnect when you send a message after the connection drops.
  • Faster detection of dropped connections.

Fixed

  • Emoji now render at the correct width inside tables.

Improved

  • Cleaner table rendering.
  • Arrow-down navigation goes through chat history first, then the status bar.
v1.0.12026 · 05 · 12patch

Stability & Reliability

Fixed

  • Parallel sub-agents no longer hang during long runs.
  • Improved overall connection stability.
v1.0.02026 · 05 · 07major

Initial Release