Choosing an icon source
- Emoji
- Image file
- Remote URL
The quickest option. Put any emoji directly in the entity’s
config.json, including multi-codepoint sequences like 👨💻.How Synti resolves an icon
For each entity, Synti checks in order:- An explicit
iconvalue inconfig.json— emoji, relative path, or URL. - An auto-discovered
icon.*file in the entity’s directory (svgpreferred). - For sources only, a favicon derived from the MCP server or REST API base URL.
icon always overrides an auto-discovered file.
Format guidance
Theme-aware SVGs
SVGs are the only format that recolors itself. If your SVG usescurrentColor, Synti tints it to match the entity’s color and the active light or dark theme. If a path has no fill attribute, Synti injects the theme’s foreground color. SVGs with hardcoded colors render exactly as authored — useful when you want a fixed brand mark.
Rendering sizes
Synti renders icons at five fixed sizes depending on context — 14 px, 16 px, 20 px, 24 px, and 28 px. Vector icons scale cleanly across all of them; if you use a raster format, author it at a comfortable multiple of the largest size (28 px) to avoid blur.Where files live
Icons sit inside each entity’s directory under your workspace in~/.synti:
The simplest way to set an icon is to ask the agent — for example, “give the GitHub source a black octocat icon.” It writes the file and config for you. See Customizing statuses for the same pattern applied to statuses.