/get-started

Settings.

Most settings are changed inside a session with /config. You rarely need to edit files by hand, but this page also lists the files Nilux keeps, in case you want to look.

/config

Type /config to open the settings. Use the arrow keys to pick a setting and Enter to change it. Press Esc to close; your changes are saved.

  • Language: the language Nilux replies in. Leave it empty and Nilux replies in the language you write in.
  • Show Thinking: show the model's reasoning in the conversation.
  • Thinking Mode: let the model reason before it answers. Better on hard tasks, but it uses more tokens.
  • Memory: whether Nilux keeps notes about your projects between sessions, the same switch as /memory on and /memory off. See Project memory.
  • Plan Model: the model used while planning. By default it is the same as your current model. See Permission modes.
  • Updates: ask at launch (the default) offers a new version when Nilux starts, automatic installs it in the background for the next launch, off never checks.
  • Auto-Compact: when the conversation gets too long, shorten it automatically and keep working (on by default). Turned off, Nilux stops and lets you decide. See Sessions and context.
  • Context Limit: how large the conversation may grow before it has to be compacted. AUTO uses the model's full size. A lower limit keeps each request smaller, so it costs less.
  • Response Streaming: how replies appear while they are being written: whole lines, character by character, or all at once at the end.
  • Clipboard Cleanup: when you copy part of the conversation from the terminal, remove the padding and broken line wraps the terminal adds.
  • Session Names: give each conversation a short name, shown in /resume.

Other settings have their own commands: /model for the model, /effort for how deeply it thinks (Models), /mode for how much it asks (Permission modes).

Permission rules

When you approve an action with Yes, always allow…, Nilux saves a rule so it does not ask again. Rules belong to one project and are kept in .nilux/settings.json inside it:

json
{
"permissions": {
"allow": [
"Bash(npm test:*)",
"Edit(/home/me/my-app/src/**)"
],
"deny": [],
"additionalDirectories": []
}
}
  • Bash(npm test:*) allows npm test with any arguments.
  • Edit(/home/me/my-app/src/**) allows changes to any file in that folder. Nilux writes the folder's full path.
  • additionalDirectories lists folders outside the project that Nilux may work in, as added with /add-dir.

Deleting files and dangerous commands, such as git push, always ask and are never saved as rules. See Permission modes.

Files Nilux keeps

In your home folder, in .nilux:

  • config.json: your sign-in and settings.
  • nilux.md and rules/: your personal instructions. See Project instructions.
  • agents/, skills/, hooks.json: your own agents, skills and hooks.
  • settings.json: MCP servers available in all your projects. See MCP servers.
  • projects/: conversation history for each project. Conversations you have not opened for 30 days are deleted.

In each project, in .nilux:

  • settings.json: the project's permission rules.
  • nilux.md, rules/, agents/, skills/, hooks.json: instructions, agents, skills and hooks for this project only.

Nilux keeps the project's .nilux folder out of git, so nothing in it is committed by accident. You will see a .nilux/ line added to your .gitignore. To share project agents, skills or hooks with your team, add those files to git yourself, with git add -f.

Environment variables

You rarely need these:

  • NILUX_GIT_BASH_PATH: on Windows, the full path to bash.exe, if Git is installed somewhere Nilux cannot find it.
  • NILUX_NO_UPDATE: set it to turn update checks off, for example on a build server.
  • BROWSER: the program used to open the sign-in page.
  • EDITOR: the editor /agents opens agent files in.