Options
Set any of these in your init.luau, e.g. require("@greed").option.set("motion-hints", true), or while the editor runs with :set motion-hints true.
| Option | Default | Plugin | What it does |
|---|---|---|---|
agent-editor-context | true | acp | Send agents the file you’re in, the cursor, the selection and the other files on screen with each message |
agent-eval | "auto" | agent | How Luau from agents runs: “auto” (sandboxed, a reviewer or you for more), “ask”, “allow” or “off” |
agent-greed-tools | true | acp | Give agents Greed’s own tools (buffers, diagnostics, syntax queries, proposals) through greed mcp |
agent-sessions-kept | 50 | acp | How many sessions with Greed’s own agent are kept per repository to take up again; older ones are deleted |
agent-tool-groups | "plan" | agent | The tool groups agents get from the start, besides those they switch on: names with spaces between, or “all” |
agent-workspace-edits | true | acp | Let agents in a workspace of their own edit, move and delete files there without asking |
assist-role | "fast" | assist | The model role assist’s commands ask; see :models |
auto-reload | true | core | Load files changed on disk into their buffers, unless they have unsaved changes |
auto-save | false | core | Save files on their own a moment after their edits stop |
auto-save-delay | 1000 | core | How long after the last edit auto-save saves, in milliseconds |
blocks-max-lines | 1000 | blocks | The most lines of output a block’s result keeps; the rest is cut |
claude-command | "claude" | agent | How the Claude pane starts Claude Code, e.g. “claude –continue” |
completion-delay | 150 | lsp | Milliseconds of no typing before a completion menu opens by itself; 0 opens it only when asked |
completion-enter | "auto" | lsp | What enter does in a completion menu: “first” puts in the first item, “selected” only one moved to with tab or the arrows (otherwise enter does what it does without a menu, like running a shell’s line), “auto” lets each source say: the shell “selected”, language servers “first” |
diagnostic-messages | true | lsp | Show each line’s worst problem after the end of the line |
editing-style | "helix" | core | How editing works: helix, vim, vscode or another style a plugin adds (see :style) |
effects | false | core | Small animations, like a wave of light through the status line when you switch files |
flash-duration | 300 | flash | How long copied text flashes, in milliseconds |
float-layout | "free" | panes | How new tabs lay out their floating views: “free”, “one”, “tiled”, “cascade” or your own |
format-on-save | true | format | Format files when they’re saved |
grammar-download | true | languages | Download the grammar for a language Greed has none for when a file in it opens |
gui-font | "" | core | The font the window draws text in, by family name; empty for the system’s monospaced font |
gui-font-prose | "" | core | The proportional font the window draws prose in (styles with font = “prose”, like Markdown’s text), by family name; empty for the system’s sans-serif |
gui-font-size | 15 | core | The size of the window’s text in pixels, before the screen’s scale; zooming gives a window a size of its own |
indent | " " | core | One level of indent, spaces or a tab, in languages that don’t set their own |
jump-label-alphabet | "abcdefghijklmnopqrstuvwxyz" | core | The letters jump labels are made of, most comfortable first |
line-numbers | "absolute" | core | How line numbers count: “absolute”, “relative” to the cursor’s line, or “hybrid” (relative, with the cursor’s line its own number) |
link-opener | "" | core | What opens a link, e.g. “firefox”; empty for xdg-open, or open on macOS |
markdown-look | true | markdown | Show Markdown with its markup hidden and its headings, code and quotes drawn as such |
motion-hints | false | core | Number the next places a word motion would go, and go there on a digit |
notes-conceal | true | notes | Show links in notes without their brackets, and markup as symbols |
notes-everywhere | false | notes | Treat every Markdown file as a note: concealed links and backlinks |
notes-folder | "~/notes" | notes | The folder notes live in; ~ is your home folder |
notes-project-folder | ".greed/notes" | notes | Where a project keeps its notes, in the project: they’re named project:NAME, and the plan and decisions you share with agents are among them |
notes-remind-desktop | true | notes | Show reminders as desktop notifications with notify-send or osascript, where installed |
notes-remind-time | "09:00" | notes | When a reminder with a date and no time goes off, as HH:MM |
notes-search-case | "ignore" | core | How searching notes minds case: “smart” (only when what you type has a capital letter), “ignore”, “match”, or “default” for as search-case says |
on-quit | "auto" | core | What :q on the last project does to the session: “auto” ends it unless something is running (a command in a terminal, an agent at work) and keeps it then, “end” always ends it, “keep” always leaves it running to attach to again |
on-quit-remote | "keep" | core | Like on-quit, when you’re attached over greed ssh |
pane-layout | "manual" | panes | How new tabs arrange their panes: “manual”, “main-stack”, “columns”, “spiral” or your own |
pipe-model-role | "fast" | pipe | The model role | model: ... asks; see :models |
restore-session | true | restore | Open the files a session had open when it starts again |
search-case | "smart" | core | How searches you type mind case, unless their kind says otherwise: “smart” (only when what you type has a capital letter), “ignore” or “match” |
session-idle-hours | 24 | core | A session nothing is attached to, with nothing running and nothing unsaved, ends after this many hours; 0 keeps it |
setup-first-start | true | setup | Show the setup page the first time a terminal or window attaches without a config |
shell-agent-max-output | 30000 | shell | How many bytes of a command’s output and of its errors the shell tools give an agent: the start and the end, with what’s between left out |
shell-aliases | true | shell | Whether a line can start with one of your shell’s aliases, read once from its startup files |
shell-ask-role | "fast" | shell | The model role a line ending or starting with ? asks for a command; see :models |
shell-completion-sources | "cobra fish carapace man help" | shell | Where a shell completes a program’s arguments from, in order: cobra, fish, carapace, man, help |
shell-completion-timeout | 2000 | shell | Milliseconds a program asked for completions (kubectl, fish, carapace, –help) gets to answer |
shell-confirm-lines | 5 | shell | Running a prompt of more lines than this asks first, as after pasting a transcript |
shell-editor | true | shell | Whether programs you run in a shell, like git commit, open files to edit in Greed: $EDITOR, $VISUAL, $GIT_EDITOR, $JJ_EDITOR and $KUBE_EDITOR are greed edit –wait |
shell-environments | "devenv direnv" | shell | Which environments a shell loads in folders that bring one, in order, the first that applies winning: devenv, direnv, and those plugins add; empty for none |
shell-fallback | "" | shell | The shell that runs lines with pipes, globs and the like, e.g. “bash”; empty for your $SHELL (sh unless it’s sh, bash, zsh, dash, ksh, fish or nu) |
shell-fallback-rc | false | shell | Whether the shell running those lines reads its startup files (-i), for your aliases and functions |
shell-filter-search-case | "ignore" | core | How filtering a shell block with / minds case: “smart” (only when what you type has a capital letter), “ignore”, “match”, or “default” for as search-case says |
shell-fold-lines | 0 | shell | A block that printed more lines than this folds as it ends, unless it failed; 0 never |
shell-fold-older | false | shell | Running a command folds the finished blocks above it, except those that failed |
shell-help-completion | "on-flag" | shell | When a shell runs a program with –help to complete its flags: on-flag (when you press tab on one) or never |
shell-help-never | "reboot shutdown halt poweroff init telinit kill killall pkill" | shell | Programs a shell never runs with –help to complete their flags |
shell-history-size | 5000 | shell | How many commands typed at shells are kept |
shell-icons | "plain" | shell | The icons of a shell’s own segments: “plain” ones any font has, or “nerd” ones a Nerd Font has |
shell-max-lines | 5000 | shell | How many lines of a block’s output a shell shows: the first half and the latest half |
shell-max-record | 8388608 | shell | How many bytes of a block’s output its record keeps; the rest goes to a file in the cache folder |
shell-production-contexts | "prod" | shell | Patterns for kubernetes contexts a shell’s prompt warns about, like prod; space between them |
shell-prompt | "greed" | shell | What draws a shell’s prompt before its ❯: “greed” (its own segments and folder) or “starship” (your starship prompt, when starship is installed) |
shell-suggestions | true | shell | Whether a shell’s prompt suggests the rest of a command typed before, after the cursor |
shell-watch-minutes | 60 | shell | How long a shell’s watch runs before it stops by itself, in minutes; 0 for until it’s stopped |
statusline-caps | "round" | statusline | The ends of status line pills: “round” (needs a Nerd Font) or “none” |
statusline-pills | false | statusline | Show the mode, tab, machine and session in the status line as pills in their colors |
substitute-preview | true | cmdline | Show what :s will change as you type it, before it runs |
substitute-search-case | "match" | core | How :s minds case: “smart” (only when what you type has a capital letter), “ignore”, “match”, or “default” for as search-case says |
terminal-scrollback | 10000 | terminal | How many lines that scrolled off a terminal’s screen are kept |
terminal-shell | "" | terminal | What a new terminal runs, e.g. “fish -l”; empty for your $SHELL |
text-width | 80 | core | How wide :reflow (and Vim’s gq) makes lines |
tree-icons | "none" | tree | Icons by the names in the file tree: “none”, or “nerd” for a Nerd Font’s |
vcs-signs | true | vcs | Show signs beside lines changed since the last commit |
web-search | "" | agent | The search service agents search the web with: “brave”, “exa”, “tavily” or “searxng”; empty for none |
web-search-url | "" | agent | Where your SearXNG is, for web-search searxng |