Settings reference
Every page in Settings, and every setting in settings.json with its default and allowed values.
This page lists the pages in Settings and every setting in the settings file. To change the look step by step, see Change how Hivemind looks.
Paste this into your coding agent to read or change a Hivemind setting safely.
Show the prompt
Using the Hivemind settings reference, change the setting I describe. 1. Find its dotted path on the reference page, for example `views.layers.groupBy` or `appearance.glass.blur`, and its allowed values. 2. Show me the current value: `hive config get <path>`. 3. Set it: `hive config set <path> '<JSON value>'`. Text goes in double quotes inside single quotes (`'"status"'`). Numbers, `true` and `false` go as they are. 4. If it is refused, show me the message. Never edit the file by hand. At the end, show the new value with `hive config get <path>` and the command that sets it back. REFERENCE https://hivemind.griiken.com/guide/settings.md
Settings pages
Open Settings from the gear at the right end of the toolbar, or at the foot of the Layers panel.
| Group | Page | Holds |
|---|---|---|
| General | Profile | your name and colour, and this computer's ids |
| Appearance | theme, wallpaper and effects (Change how Hivemind looks) | |
| Notifications | alerts and sounds (Know who is waiting) | |
| Shortcuts | keyboard shortcuts (Keyboard shortcuts) | |
| Connect | Connect | your phone, other computers, other people (Connect your devices) |
| API access | tokens for scripts and tools that drive agents (Make an API token) | |
| Plugins | Plugins | agents, views, widgets and tools: yours and the ones on HiveHub (Plugins) |
| Advanced | In a browser | this app in a browser tab on this computer (Open the app in a browser tab) |
| Servers | the server your devices use to reach each other from other networks (Set up your own network server) | |
| About and updates | the version, updates, and whether the app checks for them (Update and roll back) |
Each plugin also has its own page under Plugins, with Settings, Read me and What it can do.
The settings file
Everything is one file you own. The app and the hive command both read and write it, and it is
checked each time. A value out of range is set to the nearest allowed one; an unknown value falls
back to its default. hive config set refuses a path that is not a setting, and lists the
settings there. It also refuses a <view> that is not a view's id, a <kind>:<id> that is not
a plugin's, and a key under either that is not one of its settings. A plugin's option ids are
checked only as ids there; hive plugins set checks them against the plugin's own settings.
A change writes only the settings it changes. Everything else in the file stays as it is, so a newer version and this one can share the file:
- A key this version does not know stays, wherever it is: at the top of the file, in a section,
or in a group such as
appearance.glass. - A value this version does not know, such as a newer accent's, mode's or wallpaper's id, reads as the default here and stays in the file until you set that setting here. A preset's id is kept as written: one this version does not know shows as Custom.
- Choosing a preset writes its colours, accent and mode, whatever they read as here. Importing a theme writes only the keys its file names.
vis the file's format. A file from a newer version is read for the settings this version knows, and keeps itsv;hive config getsays so. A file withoutvis read as format 1.vis not a setting: the app keeps it.
| Where | |
|---|---|
| Every system | ~/.config/hivemind/settings.json |
With XDG_CONFIG_HOME set | $XDG_CONFIG_HOME/hivemind/settings.json |
With HIVE_SETTINGS set | the file it names |
hive config path # where it is
hive config get appearance.glass.blur # one value, as JSON
hive config set appearance.glass.blur 12 # a JSON value; the app reloads
hive config set views.layers.groupBy '"status"'appearance
| Path | Default | Allowed |
|---|---|---|
appearance.preset | signal | signal, clean, clean-light, ubuntu, dracula, nord, solarized-dark, one-dark, catppuccin-mocha, catppuccin-latte, tokyo-night, tokyo-night-day, gruvbox-dark, gruvbox-light, rose-pine, rose-pine-dawn, github-dark, github-light, solarized-light, monokai (hive theme list shows them; set with hive theme use), or theme while a theme from a package is applied |
appearance.mode | from the preset | dark, light. Set it with a preset: a light mode needs a light palette, such as clean-light's |
appearance.accent | from the preset | graphite, indigo, volt, ember, ice, pulse, rose, emerald, amber, violet. A colour of your own goes in appearanceExtra.accent, which wins over it |
appearance.radius | 12 | 0 to 24 (px): Corners |
appearance.uiFont | the system's own interface font | a CSS font list: Interface font (System, Geist, a theme's, or your own) |
appearance.monoFont | "JetBrains Mono", monospace | a CSS font list: Code font |
appearance.glass.enabled | true | Glass panels |
appearance.glass.opacity | 0.72 | 0.30 to 0.95: Panel opacity |
appearance.glass.blur | 18 | 8 to 24 (px): Blur |
appearance.glass.contentGlass | false | Frost tool content |
appearance.glass.contentOpacity | 0.25 | 0 to 0.9: Content tint |
appearance.glass.animate | true | Animate the background |
appearance.wallpaper.kind | mono | none, aurora, ember, ice, mesh, sunset, forest, nebula, mono, shoal, koi, jellyfish, fireflies, image, video, or a package's live wallpaper by its id, @owner/package/<folder>. One that is not installed, or whose package is off, draws as the default does |
appearance.wallpaper.brightness | 0.85 | 0.4 to 1.1: Media brightness |
appearance.wallpaper.colour | false | Colour: a live scene (shoal, koi, jellyfish, fireflies, or a package's live wallpaper that has colours of its own) in its own colours, not the theme's |
appearance.pluginSurfaces | theme | theme, opaque: Tools in scene views |
appearance.palette, appearance.terminal | from the preset | CSS colours; set them with Terminal colours or a theme file |
appearance.overlayMedia | none | set with Add overlay |
A view you installed is told your fonts. It draws a theme's fonts, the fonts it ships and the fonts your computer has (how).
appearanceExtra
The parts of the look an older Hivemind does not know. They sit in their own key, so a write by an
older app or hive keeps them, and appearance.accent keeps a built-in id that older builds read.
Each part is set whole.
| Path | Default | Allowed |
|---|---|---|
appearanceExtra.accent | none | { "brand", "accent", "working"? } colours (#rrggbb, rgb() or oklch()): your own Accent. Picking a built-in accent or a preset, or hive config set appearance.accent, removes it |
appearanceExtra.fontFaces | none | { "ui"?, "mono"? }, the font files a theme brought. Set by applying a theme; one is read only while appearance.uiFont or appearance.monoFont names its family, so picking another font lets its file go |
appearanceExtra.theme | none | the theme applied, its version, and your look before it. Set by Apply and hive theme use, cleared by Revert to previous look, hive theme revert or a preset |
hive config set appearanceExtra.accent '{"brand":"#c08552","accent":"#d9a273"}'views
| Path | Default | Allowed |
|---|---|---|
views.defaultView | canvas | the id of a view you have |
views.layers.status | all | all, needs-you, unread, working, idle, exited |
views.layers.activity | all | all, hour, today, week |
views.layers.groupBy | group | machine, group, date, status, agent, none |
views.layers.sortBy | canvas | canvas, activity, name |
views.layers.recentsBy | agent | agent, project, date, none |
views.layers.machines | every one | local, or a machine's id |
views.layers.lines | all | all, needs-you, off: which rows show a second line (Know who is waiting) |
views.chrome.<view>.island | the view's own | top, bottom, hidden, off: where the toolbar sits in that view |
views.toolbars.<view> | the defaults | which toolbar buttons, in which order |
The views.layers values are what the Layers panel's View menu sets.
agents
| Path | Default | Means |
|---|---|---|
agents.defaultAgent | the first installed | the agent 2 and New agent start |
agents.autoInstall | true | add an agent from HiveHub when its program is found on this computer |
agents.declined | none | agents you removed; never added by themselves again |
agents.whenAgentStartsAgent | stay | when an agent or a program starts an agent: stay where you are, the new tile unread in Layers, or go to it. One you start is always shown |
plugins
| Path | Means |
|---|---|
plugins.state.<kind>:<id> | whether that plugin is on, and the values of its settings. Change them on its page, or with hive plugins enable, disable, set and reset. |
notifications
Change them on Settings → Notifications (Know who is waiting), or with
hive notifications set or hive config set. Both refuse a path not listed here and a value not of
its kind. Only the person changes them: an agent is refused.
| Path | Default | Means |
|---|---|---|
notifications.enabled | true | every toast, popup and sound |
notifications.kinds.needs, .done, .error | true | which changes notify you: needs you, finished, failed |
notifications.inApp | true | toasts in the window, and what a screen reader says |
notifications.osPopups | true | your system's popups, while no Hivemind window has the focus |
notifications.popupText | false | a popup says what the agent waits on, or its terminal's last line |
notifications.sound | false | play a sound |
notifications.sounds.needs | true | a sound when an agent needs you |
notifications.sounds.done, .error | false | a sound when an agent finishes, or fails |
notifications.volume | 0.6 | 0 to 1 |
notifications.dnd.enabled | false | Do Not Disturb: mutes finished and failed (toasts, popups, sounds, the spoken line), never needs you |
notifications.dnd.start, .end | 22:00, 07:00 | its times, as HH:MM in your local time |
profile, network, browserApp, quit
| Path | Default | Means |
|---|---|---|
profile.name | none | the name others see beside your cursor, up to 64 characters |
profile.color | none | your colour, as #rrggbb |
network.updateCheck | true | ask now and then whether a newer release or newer agents are out |
browserApp.enabled | false | serve the app to a browser tab on this computer |
browserApp.port | 4483 | 1024 to 65535 |
browserApp.names | none | other host names a browser may use, such as your Tailscale name |
quit.whenRunning | ask | what quitting does while terminals or agents run here: ask, keep-running or stop-everything |
Last validated for Hivemind 2026.10.3.