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 onand/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:*)allowsnpm testwith any arguments.Edit(/home/me/my-app/src/**)allows changes to any file in that folder. Nilux writes the folder's full path.additionalDirectorieslists 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.mdandrules/: 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 tobash.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/agentsopens agent files in.