# Lumbridge settings. # # This file is the documentation. Every key Lumbridge understands appears below, # commented out, showing the value Lumbridge uses when you say nothing — so the # whole configuration surface can be read without leaving the file. # # Two kinds of comment appear here and the difference is load-bearing: # # #key = value a setting, commented out, showing the compiled default. # Remove the '#' to take it over. # # a sentence explanation. Never a setting. # # A test uncomments the first kind, parses the result, and checks that the set # of keys is exactly the set Lumbridge knows about. Neither half can drift. # # --------------------------------------------------------------------------- # Layers # # compiled default -> this file -> the environment # # The environment wins, which is the reverse of the usual arrangement and is # deliberate. LUMBRIDGE_CLAUDE_OAUTH=0 is documented as one switch off, and a # switch a configuration file can silently turn back on is not a switch. Where a # variable has pinned a value the settings pane shows that row disabled and # names the variable, rather than accepting an edit that would do nothing. # # --------------------------------------------------------------------------- # What Lumbridge does to this file # # Changing something in the settings pane rewrites the one key you changed and # leaves everything else exactly as you left it: your comments, your ordering, # your spacing, and any key this build does not recognise. # # An unrecognised key is kept, not deleted, and listed on the Advanced page — # a file written by a newer Lumbridge still opens in an older one. A syntax # error is a different matter: Lumbridge keeps the last configuration it read # and shows a banner naming the line, because a typo must never quietly reset # your settings to defaults. # # --------------------------------------------------------------------------- # Who may write each key # # Every key below says either "a person only" or "a person, or an agent holding # the Configure capability". Anything that names a program, a filesystem path, # or a network destination is a person only, and a request from anywhere else is # refused rather than quietly downgraded. An agent that can arrange panes must # not be able to choose what runs inside them. # # --------------------------------------------------------------------------- # What is deliberately not here # # Four things could plausibly be settings and never will be, because each would # turn this file into an attack: # # - The address an access token is sent to. A configuration file that can # redirect it is a credential exfiltration path with a friendly name. # - The file that token is read from. The same attack from the other end. # - The name Lumbridge gives when it calls a provider. Lumbridge identifies # itself instead of borrowing the harness's identity, so that its requests # stay distinguishable from the harness's in the provider's own logs. # - The program a new pane launches. A layout-only agent cannot choose the # shell you get, and a settings key would hand it exactly that at one # remove. # # Nothing here turns telemetry on or off, because there is none to turn off. # The Advanced page lists every file, endpoint, and child process Lumbridge # reads, by name. [appearance] # The syntax theme every interface colour is derived from. Lumbridge does not # store a palette; it takes five anchors from the theme and computes the rest, # so a theme name changes the whole window and not just the editor. # Written by a person, or by an agent holding the Configure capability. # Takes effect immediately. #theme = "lumbridge-slate" # The action colour: focus rings, selection, the active tab. Kept separate from # the theme so that the colour meaning "you are here" can be chosen once and # survive a change of theme. # Written by a person, or by an agent holding the Configure capability. # Takes effect immediately. #accent = "blue" [usage] # Read the access token Claude Code stored on this machine, and use it to ask # Anthropic one documented question about your own subscription: the per-model # weekly limits a Max plan meters separately, and an answer on a cold start # before any session has taken a turn. # # The token is never persisted, never logged, never copied into application # state, never written to a crash report, and never passed as a command-line # argument. It is released as soon as the request is made. No refresh token is # ever used — renewing a credential is the harness's job. The request identifies # Lumbridge as the caller. # # LUMBRIDGE_CLAUDE_OAUTH=0 in the environment turns this off and outranks # whatever this file says. # Written by a person, or by an agent holding the Configure capability. # Restarts the probe. #claude_account_endpoint = true # Follow the session transcripts Claude Code writes, for token spend. This is # the only local surface that reports what that harness actually spent. The # reader models four token counters and nothing else, so the conversations in # those files are not representable in a Lumbridge value. It reports nothing at # all until it has read the existing backlog to the end, because a partly-read # backlog is indistinguishable from a burst of spend. # Written by a person, or by an agent holding the Configure capability. # Restarts the probe. #claude_transcripts = true # Launch `codex app-server` and ask it for the quota windows it already knows. # The client cannot express a request outside a two-variant enum and answers # every server-to-client request with "method not found", so a harness asking # Lumbridge for a credential is refused by construction. # Written by a person, or by an agent holding the Configure capability. # Restarts the probe. #codex_app_server = true # Where the installed status-line bridge writes Claude Code's rate-limit # windows. Left unset, Lumbridge looks where the bridge installer puts it; set # this only if you installed the bridge somewhere else. It has to match what the # bridge was installed with exactly, or the windows read as unavailable forever. # # The example below is an example, not a default — there is no compiled default # for this key. LUMBRIDGE_CLAUDE_FEED in the environment overrides it. # Written by a person only: it names a filesystem path. # Restarts the probe. #claude_rate_limit_feed = "/example/path/to/claude-rate-limits.jsonl" [terminal] # Let a program running in a pane write your system clipboard through the OSC 52 # escape sequence. Off unless you ask for it: OSC 52 is available to anything # that can write to your terminal, which includes the contents of a log file you # happen to cat, so leaving it on means a file can replace what you are about to # paste. # Written by a person only: it hands a program a capability outside its pane. # Applies to new panes; panes already open keep what they were launched with. #allow_osc52_clipboard = false