Canvas configuration
Canvas's behavior and theme live in one JSON file
Canvas's behavior and theme live in one JSON file:
~/Library/Application Support/Blink/config.jsonCanvas watches this file and applies valid changes to open panels without a restart. The default path is unchanged from Blink.
Current source builds use the first nonempty CANVAS_HOME, then BLINK_HOME,
to override the file-backed root. Empty values are ignored. The selected root
contains config.json, Notes, and attachments; use the same root for app and
CLI. These overrides do not redirect UserDefaults, and either disables mobile
sharing. Existing releases recognize BLINK_HOME only.
Examples use the current canvas command. The compatible blink command and
published package name @arach/blink remain supported. The rename does not
change config keys, blink.* frontmatter, attachment URLs, or settings keys;
hotkeys.blink still controls showing and hiding all notes.
Rules:
- Every field is optional. Missing fields use the defaults below.
{}is a valid config. - Invalid JSON never breaks the app: Canvas keeps the last good config and logs
[BLINK] config invalid — keeping last good. An invalid file found at startup stays untouched; the app uses defaults with mobile access off. - Write atomically (write temp + rename, or your editor's normal save) — Canvas watches the directory, so atomic replaces are picked up fine.
- The settings window is a view over this file; edits there round-trip through it.
Keep exploring.
Get free access to the full guides and studies. We’ll email you a welcome note with your access code.