Skip to main content
This page provides a comprehensive reference for all available settings in Glass. Settings can be configured in your user settings file (Ctrl+, or Cmd+,) or per-project in .zed/settings.json.

Appearance

Theme

theme
object
Controls the application theme.
{
  "mode": "system",
  "light": "One Light",
  "dark": "One Dark"
}
  • mode: "system", "light", or "dark"
  • light: Theme name to use in light mode
  • dark: Theme name to use in dark mode
icon_theme
string
default:"Zed (Default)"
The icon theme to use for file and folder icons in the project panel.

Fonts

buffer_font_family
string
default:".ZedMono"
Font family for editor text. .ZedMono currently aliases to Lilex.
buffer_font_size
number
default:"15"
Font size for editor text in pixels.
buffer_font_weight
number
default:"400"
Font weight for editor text (100-900). Standard CSS units.
buffer_font_features
object
default:"{}"
OpenType font features for editor text.
{
  "calt": false  // Disable ligatures
}
buffer_font_fallbacks
array
default:"null"
Fallback fonts for editor text. Merged with platform defaults.
buffer_line_height
string | object
default:"comfortable"
Line height for editor text.
  • "comfortable": 1.618 ratio for comfortable reading
  • "standard": 1.3 ratio
  • {"custom": 2}: Custom line height value
ui_font_family
string
default:".ZedSans"
Font family for UI elements. .ZedSans aliases to IBM Plex Sans. Use .SystemUIFont for system font.
ui_font_size
number
default:"16"
Font size for UI elements in pixels.
ui_font_weight
number
default:"400"
Font weight for UI elements (100-900).
ui_font_features
object
default:"{\"calt\": false}"
OpenType font features for UI text.

Editor

Cursor and Selection

Whether the cursor blinks in the editor.
cursor_shape
string
default:"bar"
Shape of the cursor in the editor.
  • "bar": Vertical bar
  • "block": Block surrounding the character
  • "underline": Underscore along the character
  • "hollow": Box around the character
hide_mouse
string
default:"on_typing_and_movement"
When to hide the mouse cursor in an editor.
  • "never": Never hide
  • "on_typing": Hide only when typing
  • "on_typing_and_movement": Hide on typing and cursor movement
current_line_highlight
string
default:"all"
How to highlight the current line.
  • "none": No highlight
  • "gutter": Highlight gutter area
  • "line": Highlight editor area
  • "all": Highlight full line
selection_highlight
boolean
default:"true"
Whether to highlight all occurrences of selected text.
rounded_selection
boolean
default:"true"
Whether text selections have rounded corners.

Code Intelligence

show_completions_on_input
boolean
default:"true"
Show completions menu automatically while typing.
show_completion_documentation
boolean
default:"true"
Display inline and alongside documentation in completions menu.
auto_signature_help
boolean
default:"false"
Show method signatures automatically when inside parentheses.
show_signature_help_after_edits
boolean
default:"false"
Show signature help after completing or inserting bracket pairs.
inline_code_actions
boolean
default:"true"
Show code action button at start of buffer lines.
hover_popover_enabled
boolean
default:"true"
Show informational hover box when moving mouse over symbols.
hover_popover_delay
number
default:"300"
Delay in milliseconds before showing hover popover.
inlay_hints
object
Inlay hint configuration.
{
  "enabled": false,
  "show_type_hints": true,
  "show_parameter_hints": true,
  "show_value_hints": true,
  "show_other_hints": true,
  "show_background": false,
  "edit_debounce_ms": 700,
  "scroll_debounce_ms": 50
}

Editing Behavior

use_autoclose
boolean
default:"true"
Automatically add matching closing characters when typing opening parentheses, brackets, braces, or quotes.
use_auto_surround
boolean
default:"true"
Automatically surround selected text when typing opening parentheses, brackets, braces, or quotes.
auto_indent
boolean
default:"true"
Adjust indentation based on context while typing.
auto_indent_on_paste
boolean
default:"true"
Adjust indentation of pasted content based on context.
always_treat_brackets_as_autoclosed
boolean
default:"false"
When true, skip over and auto-remove closing characters regardless of how they were inserted.
drag_and_drop_selection
object
Configure drag and drop text selection.
{
  "enabled": true,
  "delay": 300
}
  • enabled: Enable drag and drop
  • delay: Delay in milliseconds before drag is allowed
use_on_type_format
boolean
default:"true"
Use LSP on-type formatting after trigger characters.

Display

show_whitespaces
string
default:"selection"
When to show tabs and spaces in the editor.
  • "selection": Show only in selected text
  • "none": Never show
  • "all": Always show
  • "boundary": Show only at boundaries
  • "trailing": Show only trailing whitespace
whitespace_map
object
Characters used to render whitespace.
{
  "space": "•",
  "tab": "→"
}
show_wrap_guides
boolean
default:"true"
Show vertical rulers at specified character counts.
wrap_guides
array
default:"[]"
Character counts at which to show wrap guides.
[80, 120]
colorize_brackets
boolean
default:"false"
Enable rainbow bracket coloring. Colors are defined by theme’s accents.
snippet_sort_order
string
default:"inline"
How to sort snippets relative to other completions.
  • "top": Place at top
  • "inline": Normal placement
  • "bottom": Place at bottom
  • "none": Don’t show in completions

File Management

autosave
string | object
default:"off"
When to automatically save edited buffers.
  • "off": Never auto-save
  • "on_window_change": Save when focus leaves window
  • "on_focus_change": Save when focus leaves buffer
  • {"after_delay": {"milliseconds": 500}}: Save after idle delay
format_on_save
string
default:"on"
Whether to format buffers before saving.
  • "on": Always format
  • "off": Never format
Note: Ignored if autosave with delay is enabled.
formatter
string | object
default:"auto"
How to format buffers.
  • "auto": Use Prettier if applicable, fallback to LSP
  • "language_server": Use current language server
  • {"language_server": {"name": "ruff"}}: Use specific LSP
  • {"external": {"command": "prettier", "arguments": ["--stdin-filepath", "{buffer_path}"]}}: Use external command
  • "prettier": Use Prettier integration
  • {"code_action": "source.fixAll.eslint"}: Use code action
  • [...]: Array of format steps to apply in order
remove_trailing_whitespace_on_save
boolean
default:"true"
Remove trailing whitespace from lines before saving.
ensure_final_newline_on_save
boolean
default:"true"
Ensure file ends with a single newline when saving.
extend_comment_on_newline
boolean
default:"true"
Start new line with comment when previous line is a comment.
extend_list_on_newline
boolean
default:"true"
Continue markdown lists when pressing enter.
indent_list_on_tab
boolean
default:"true"
Indent list items when pressing tab after a list marker.

Layout and Navigation

restore_on_startup
string
default:"last_session"
What to restore when starting Glass.
  • "last_session": Restore all workspaces from last session
  • "last_workspace": Restore last workspace
  • "none": Start fresh
restore_on_file_reopen
boolean
default:"true"
Restore file state (selections, folds, scroll) when reopening files.
pane_split_direction_horizontal
string
default:"down"
Direction for horizontal pane splits.
pane_split_direction_vertical
string
default:"right"
Direction for vertical pane splits.
centered_layout
object
Centered layout padding configuration.
{
  "left_padding": 0.2,
  "right_padding": 0.2
}
bottom_dock_layout
string
default:"contained"
Layout mode for bottom dock.
  • "contained": Contained within panes
  • "full": Full width
  • "left_aligned": Aligned left
  • "right_aligned": Aligned right

Scrollbar

scrollbar
object
Scrollbar configuration.
{
  "show": "auto",
  "cursors": true,
  "git_diff": true,
  "search_results": true,
  "selected_text": true,
  "selected_symbol": true,
  "diagnostics": "all",
  "axes": {
    "horizontal": true,
    "vertical": true
  }
}

Minimap

minimap
object
Minimap configuration.
{
  "show": "never",
  "display_in": "active_editor",
  "thumb": "always",
  "thumb_border": "left_open",
  "current_line_highlight": null,
  "max_width_columns": 80
}
  • show: "never", "auto", or "always"
  • display_in: "active_editor" or "all_editors"

Gutter

gutter
object
Gutter configuration.
{
  "line_numbers": true,
  "runnables": true,
  "breakpoints": true,
  "folds": true,
  "min_line_number_digits": 4
}
indent_guides
object
Indent guide configuration.
{
  "enabled": true,
  "line_width": 1,
  "active_line_width": 1,
  "coloring": "fixed",
  "background_coloring": "disabled"
}
Default search options.
{
  "button": true,
  "whole_word": false,
  "case_sensitive": false,
  "include_ignored": false,
  "regex": false,
  "center_on_match": false
}
search_wrap
boolean
default:"true"
Whether search results wrap around file ends.
seed_search_query_from_cursor
string
default:"always"
When to populate search with text under cursor.
  • "always": Always use word under cursor
  • "selection": Only when text is selected
  • "never": Never populate
Automatically adjust case sensitivity based on query (uppercase = case-sensitive).

Terminal

terminal
object
Terminal configuration. See detailed options:
{
  "shell": "system",
  "dock": "bottom",
  "default_width": 640,
  "default_height": 320,
  "working_directory": "current_project_directory",
  "blinking": "terminal_controlled",
  "cursor_shape": "block",
  "alternate_scroll": "on",
  "option_as_meta": false,
  "copy_on_select": false,
  "button": true,
  "line_height": "standard",
  "font_weight": 400,
  "max_scroll_history_lines": 10000
}

Git Integration

git
object
Git integration settings.
{
  "disable_git": false,
  "enable_status": true,
  "enable_diff": true,
  "git_gutter": "tracked_files",
  "gutter_debounce": 0,
  "inline_blame": {
    "enabled": true,
    "delay_ms": 0,
    "padding": 7,
    "show_commit_summary": false,
    "min_column": 0
  },
  "hunk_style": "staged_hollow",
  "path_style": "file_name_first",
  "worktree_directory": "../worktrees"
}

Project Panel

project_panel
object
Project panel configuration.
{
  "button": true,
  "hide_gitignore": false,
  "default_width": 240,
  "dock": "left",
  "file_icons": true,
  "folder_icons": true,
  "git_status": true,
  "indent_size": 20,
  "auto_reveal_entries": true,
  "starts_open": true,
  "auto_fold_dirs": true,
  "show_diagnostics": "all",
  "sort_mode": "directories_first"
}

Language Servers

enable_language_server
boolean
default:"true"
Use language servers for code intelligence.
language_servers
array
default:"[\"...\"]"
Language servers to use for all languages. Typically customized per-language.
lsp
object
LSP-specific settings keyed by server name.
{
  "rust-analyzer": {
    "initialization_options": {
      "check": {
        "command": "clippy"
      }
    }
  }
}
global_lsp_settings
object
Common language server settings.
{
  "button": true,
  "request_timeout": 120
}

Agent (AI Assistant)

agent
object
Agent panel configuration. Extensive options available:
{
  "enabled": true,
  "button": true,
  "dock": "right",
  "default_width": 640,
  "default_model": {
    "provider": "zed.dev",
    "model": "claude-sonnet-4"
  },
  "default_profile": "write",
  "use_modifier_to_send": false
}

Edit Predictions

edit_predictions
object
Edit prediction (code completion) settings.
{
  "provider": "zed",
  "mode": "eager",
  "disabled_globs": ["**/.env*", "**/*.pem"],
  "enabled_in_text_threads": true
}
  • mode: "eager" (show when no LSP completions) or "subtle" (show when holding modifier)
show_edit_predictions
boolean
default:"true"
Show edit predictions immediately (true) or manually (false).

File Scanning

file_scan_exclusions
array
Files/globs excluded from file scans, searches, and project tree.
["**/.git", "**/.DS_Store", "**/node_modules"]
file_scan_inclusions
array
Files/globs to include even when ignored by git.
[".env*"]
hidden_files
array
Globs for files considered “hidden” (toggleable in project panel).
["**/.*"]

Tabs

tab_bar
object
Tab bar settings.
{
  "show": true,
  "show_nav_history_buttons": true,
  "show_tab_bar_buttons": true
}
tabs
object
Individual tab settings.
{
  "git_status": false,
  "close_position": "right",
  "file_icons": false,
  "show_close_button": "hover",
  "activate_on_close": "history"
}
preview_tabs
object
Preview tabs configuration (temporary tabs that close automatically).
{
  "enabled": true,
  "enable_preview_from_project_panel": true,
  "enable_preview_from_file_finder": false
}

Per-Language Settings

languages
object
Language-specific settings override global settings.
{
  "Python": {
    "tab_size": 4,
    "format_on_save": "on",
    "formatter": {"language_server": {"name": "ruff"}},
    "language_servers": ["basedpyright", "ruff", "..."]
  },
  "JavaScript": {
    "tab_size": 2,
    "prettier": {"allowed": true}
  }
}

Indentation

hard_tabs
boolean
default:"false"
Use tab characters instead of spaces for indentation.
tab_size
number
default:"4"
Number of columns a tab character occupies.
preferred_line_length
number
default:"80"
Column at which to soft-wrap lines (when soft-wrap is enabled).
soft_wrap
string
default:"none"
How to soft-wrap long lines.
  • "none": No wrapping
  • "editor_width": Wrap at editor width
  • "preferred_line_length": Wrap at preferred line length
  • "bounded": Wrap at smaller of editor width or preferred line length

Advanced

telemetry
object
Telemetry settings.
{
  "diagnostics": true,
  "metrics": true
}
auto_update
boolean
default:"true"
Automatically update Glass (may be ignored on Linux with package managers).
base_keymap
string
default:"VSCode"
Base keybinding set to use.Options: "VSCode", "Atom", "JetBrains", "SublimeText", "TextMate", "None"
node
object
Node.js configuration for language servers.
{
  "ignore_system_version": false,
  "path": null,
  "npm_path": null
}
load_direnv
string
default:"direct"
How to load direnv configuration.
  • "direct": Use direnv export json
  • "shell_hook": Use shell hook (POSIX shells and fish)
  • "disabled": Don’t load direnv

Build docs developers (and LLMs) love