Agents
opencode
Walnut and Tunnel each pair with Enamel, and opencode switches halves with your terminal's background. subway-seat-enamel stays light whatever the terminal says.
Showing WalnutTunnelEnamelMoquetteDeep LevelPortlandGuimardCatacombesCarrelage. Switch flavors with the bullets up top.
opencode Report a problem with this portReport a problem with this portReport a problem with this portReport a problem with this portReport a problem with this portReport a problem with this portReport a problem with this portReport a problem with this portReport a problem with this port
The quick way
The installer sets it up for you, then tells you the one thing it can't do. More ways to install
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor walnut --only opencode
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor tunnel --only opencode
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor enamel --only opencode
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor moquette --only opencode
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor deep --only opencode
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor portland --only opencode
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor guimard --only opencode
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor catacombes --only opencode
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor carrelage --only opencode
Turn it on
{
"$schema": "https://opencode.ai/tui.json",
"theme": "subway-seat"
}{
"$schema": "https://opencode.ai/tui.json",
"theme": "subway-seat-tunnel"
}{
"$schema": "https://opencode.ai/tui.json",
"theme": "subway-seat-enamel"
}{
"$schema": "https://opencode.ai/tui.json",
"theme": "london-moquette"
}{
"$schema": "https://opencode.ai/tui.json",
"theme": "london-deep-level"
}{
"$schema": "https://opencode.ai/tui.json",
"theme": "london-portland"
}{
"$schema": "https://opencode.ai/tui.json",
"theme": "paris-guimard"
}{
"$schema": "https://opencode.ai/tui.json",
"theme": "paris-catacombes"
}{
"$schema": "https://opencode.ai/tui.json",
"theme": "paris-carrelage"
}Follow light and dark
One setting that changes with your system’s light and dark mode, no switching by hand.
{
"$schema": "https://opencode.ai/tui.json",
"theme": "subway-seat"
}The files
subway-seat.jsonsave as ~/.config/opencode/themes/subway-seat.json{
"$schema": "https://opencode.ai/theme.json",
"defs": {
"walnutCrust": "#20160E",
"walnutMantle": "#2A1D13",
"walnutBase": "#362619",
"walnutSurface0": "#43301F",
"walnutSurface1": "#513B27",
"walnutSurface2": "#634932",
"walnutOverlay0": "#7B6047",
"walnutOverlay1": "#967B5C",
"walnutOverlay2": "#AE9575",
"walnutSubtext0": "#C4AE8C",
"walnutSubtext1": "#D9C6A3",
"walnutText": "#EDDCBC",
"walnutTextHi": "#F8ECD4",
"walnutYellow": "#F3BF45",
"walnutYellowHi": "#FFD36B",
"walnutOrange": "#EC7F31",
"walnutOrangeHi": "#FF9D55",
"walnutRed": "#E05C45",
"walnutRedHi": "#FF8373",
"walnutGreen": "#ADB956",
"walnutGreenHi": "#BFCB63",
"walnutSage": "#86AD95",
"walnutSageHi": "#A5C9B0",
"walnutDenim": "#7F9BAE",
"walnutDenimHi": "#9DB6C6",
"walnutClay": "#F4A87E",
"enamelCrust": "#E4D8C0",
"enamelMantle": "#EEE4D0",
"enamelBase": "#F8EFDF",
"enamelSurface0": "#DBCDB3",
"enamelSurface1": "#CBB898",
"enamelSurface2": "#BAA380",
"enamelOverlay0": "#A58D6D",
"enamelOverlay1": "#8C7254",
"enamelOverlay2": "#735C44",
"enamelSubtext0": "#654F3B",
"enamelSubtext1": "#54402F",
"enamelText": "#3E2C1E",
"enamelTextHi": "#2A1D13",
"enamelYellow": "#976608",
"enamelYellowHi": "#A9720A",
"enamelOrange": "#A04800",
"enamelOrangeHi": "#BA4D0A",
"enamelRed": "#992418",
"enamelRedHi": "#BF4233",
"enamelGreen": "#66740F",
"enamelGreenHi": "#697813",
"enamelSage": "#3E7157",
"enamelSageHi": "#4C8367",
"enamelDenim": "#3F6480",
"enamelDenimHi": "#517791",
"enamelClay": "#843811"
},
"theme": {
"primary": {
"dark": "walnutOrange",
"light": "enamelOrange"
},
"secondary": {
"dark": "walnutYellow",
"light": "enamelYellow"
},
"accent": {
"dark": "walnutSage",
"light": "enamelSage"
},
"error": {
"dark": "walnutRedHi",
"light": "enamelRedHi"
},
"warning": {
"dark": "walnutYellow",
"light": "enamelYellow"
},
"success": {
"dark": "walnutGreen",
"light": "enamelGreen"
},
"info": {
"dark": "walnutDenim",
"light": "enamelDenim"
},
"text": {
"dark": "walnutText",
"light": "enamelText"
},
"textMuted": {
"dark": "walnutOverlay2",
"light": "enamelOverlay2"
},
"selectedListItemText": {
"dark": "walnutCrust",
"light": "enamelBase"
},
"background": {
"dark": "walnutBase",
"light": "enamelBase"
},
"backgroundPanel": {
"dark": "walnutSurface0",
"light": "enamelMantle"
},
"backgroundElement": {
"dark": "walnutSurface1",
"light": "enamelCrust"
},
"backgroundMenu": {
"dark": "#43301F",
"light": "#FCF7EF"
},
"border": {
"dark": "walnutSurface2",
"light": "enamelSurface2"
},
"borderActive": {
"dark": "walnutOverlay0",
"light": "enamelOverlay0"
},
"borderSubtle": {
"dark": "walnutSurface1",
"light": "enamelSurface1"
},
"diffAdded": {
"dark": "walnutGreen",
"light": "enamelGreen"
},
"diffRemoved": {
"dark": "walnutRedHi",
"light": "enamelRedHi"
},
"diffContext": {
"dark": "walnutOverlay1",
"light": "enamelOverlay1"
},
"diffHunkHeader": {
"dark": "walnutDenim",
"light": "enamelDenim"
},
"diffHighlightAdded": {
"dark": "walnutGreenHi",
"light": "enamelGreen"
},
"diffHighlightRemoved": {
"dark": "walnutRedHi",
"light": "enamelRed"
},
"diffAddedBg": {Showing 150 of 267 lines.
subway-seat-tunnel.jsonsave as ~/.config/opencode/themes/subway-seat-tunnel.json{
"$schema": "https://opencode.ai/theme.json",
"defs": {
"tunnelCrust": "#140D07",
"tunnelMantle": "#1B120A",
"tunnelBase": "#24180E",
"tunnelSurface0": "#302115",
"tunnelSurface1": "#3D2C1D",
"tunnelSurface2": "#4F3927",
"tunnelOverlay0": "#745B45",
"tunnelOverlay1": "#917759",
"tunnelOverlay2": "#AA9171",
"tunnelSubtext0": "#C0AA88",
"tunnelSubtext1": "#D6C3A0",
"tunnelText": "#E9D8B6",
"tunnelTextHi": "#F6EAD1",
"tunnelYellow": "#F3BF45",
"tunnelYellowHi": "#FFD36B",
"tunnelOrange": "#EC7F31",
"tunnelOrangeHi": "#FF9D55",
"tunnelRed": "#E05C45",
"tunnelRedHi": "#FF8373",
"tunnelGreen": "#ADB956",
"tunnelGreenHi": "#BFCB63",
"tunnelSage": "#86AD95",
"tunnelSageHi": "#A5C9B0",
"tunnelDenim": "#7F9BAE",
"tunnelDenimHi": "#9DB6C6",
"tunnelClay": "#F4A87E",
"enamelCrust": "#E4D8C0",
"enamelMantle": "#EEE4D0",
"enamelBase": "#F8EFDF",
"enamelSurface0": "#DBCDB3",
"enamelSurface1": "#CBB898",
"enamelSurface2": "#BAA380",
"enamelOverlay0": "#A58D6D",
"enamelOverlay1": "#8C7254",
"enamelOverlay2": "#735C44",
"enamelSubtext0": "#654F3B",
"enamelSubtext1": "#54402F",
"enamelText": "#3E2C1E",
"enamelTextHi": "#2A1D13",
"enamelYellow": "#976608",
"enamelYellowHi": "#A9720A",
"enamelOrange": "#A04800",
"enamelOrangeHi": "#BA4D0A",
"enamelRed": "#992418",
"enamelRedHi": "#BF4233",
"enamelGreen": "#66740F",
"enamelGreenHi": "#697813",
"enamelSage": "#3E7157",
"enamelSageHi": "#4C8367",
"enamelDenim": "#3F6480",
"enamelDenimHi": "#517791",
"enamelClay": "#843811"
},
"theme": {
"primary": {
"dark": "tunnelOrange",
"light": "enamelOrange"
},
"secondary": {
"dark": "tunnelYellow",
"light": "enamelYellow"
},
"accent": {
"dark": "tunnelSage",
"light": "enamelSage"
},
"error": {
"dark": "tunnelRedHi",
"light": "enamelRedHi"
},
"warning": {
"dark": "tunnelYellow",
"light": "enamelYellow"
},
"success": {
"dark": "tunnelGreen",
"light": "enamelGreen"
},
"info": {
"dark": "tunnelDenim",
"light": "enamelDenim"
},
"text": {
"dark": "tunnelText",
"light": "enamelText"
},
"textMuted": {
"dark": "tunnelOverlay2",
"light": "enamelOverlay2"
},
"selectedListItemText": {
"dark": "tunnelCrust",
"light": "enamelBase"
},
"background": {
"dark": "tunnelBase",
"light": "enamelBase"
},
"backgroundPanel": {
"dark": "tunnelSurface0",
"light": "enamelMantle"
},
"backgroundElement": {
"dark": "tunnelSurface1",
"light": "enamelCrust"
},
"backgroundMenu": {
"dark": "#302115",
"light": "#FCF7EF"
},
"border": {
"dark": "tunnelSurface2",
"light": "enamelSurface2"
},
"borderActive": {
"dark": "tunnelOverlay0",
"light": "enamelOverlay0"
},
"borderSubtle": {
"dark": "tunnelSurface1",
"light": "enamelSurface1"
},
"diffAdded": {
"dark": "tunnelGreen",
"light": "enamelGreen"
},
"diffRemoved": {
"dark": "tunnelRedHi",
"light": "enamelRedHi"
},
"diffContext": {
"dark": "tunnelOverlay1",
"light": "enamelOverlay1"
},
"diffHunkHeader": {
"dark": "tunnelDenim",
"light": "enamelDenim"
},
"diffHighlightAdded": {
"dark": "tunnelGreenHi",
"light": "enamelGreen"
},
"diffHighlightRemoved": {
"dark": "tunnelRedHi",
"light": "enamelRed"
},
"diffAddedBg": {Showing 150 of 267 lines.
subway-seat-enamel.jsonsave as ~/.config/opencode/themes/subway-seat-enamel.json{
"$schema": "https://opencode.ai/theme.json",
"defs": {
"enamelCrust": "#E4D8C0",
"enamelMantle": "#EEE4D0",
"enamelBase": "#F8EFDF",
"enamelSurface0": "#DBCDB3",
"enamelSurface1": "#CBB898",
"enamelSurface2": "#BAA380",
"enamelOverlay0": "#A58D6D",
"enamelOverlay1": "#8C7254",
"enamelOverlay2": "#735C44",
"enamelSubtext0": "#654F3B",
"enamelSubtext1": "#54402F",
"enamelText": "#3E2C1E",
"enamelTextHi": "#2A1D13",
"enamelYellow": "#976608",
"enamelYellowHi": "#A9720A",
"enamelOrange": "#A04800",
"enamelOrangeHi": "#BA4D0A",
"enamelRed": "#992418",
"enamelRedHi": "#BF4233",
"enamelGreen": "#66740F",
"enamelGreenHi": "#697813",
"enamelSage": "#3E7157",
"enamelSageHi": "#4C8367",
"enamelDenim": "#3F6480",
"enamelDenimHi": "#517791",
"enamelClay": "#843811"
},
"theme": {
"primary": "enamelOrange",
"secondary": "enamelYellow",
"accent": "enamelSage",
"error": "enamelRedHi",
"warning": "enamelYellow",
"success": "enamelGreen",
"info": "enamelDenim",
"text": "enamelText",
"textMuted": "enamelOverlay2",
"selectedListItemText": "enamelBase",
"background": "enamelBase",
"backgroundPanel": "enamelMantle",
"backgroundElement": "enamelCrust",
"backgroundMenu": "#FCF7EF",
"border": "enamelSurface2",
"borderActive": "enamelOverlay0",
"borderSubtle": "enamelSurface1",
"diffAdded": "enamelGreen",
"diffRemoved": "enamelRedHi",
"diffContext": "enamelOverlay1",
"diffHunkHeader": "enamelDenim",
"diffHighlightAdded": "enamelGreen",
"diffHighlightRemoved": "enamelRed",
"diffAddedBg": "#D7DBC1",
"diffRemovedBg": "#EBD3D1",
"diffContextBg": "enamelBase",
"diffLineNumber": "enamelOverlay0",
"diffAddedLineNumberBg": "#E9E3CA",
"diffRemovedLineNumberBg": "#EED9C9",
"markdownText": "enamelText",
"markdownHeading": "enamelYellow",
"markdownLink": "enamelDenim",
"markdownLinkText": "enamelDenimHi",
"markdownCode": "enamelGreen",
"markdownBlockQuote": "enamelSubtext0",
"markdownEmph": "enamelText",
"markdownStrong": "enamelTextHi",
"markdownHorizontalRule": "enamelOverlay0",
"markdownListItem": "enamelOrange",
"markdownListEnumeration": "enamelOrange",
"markdownImage": "enamelDenim",
"markdownImageText": "enamelDenimHi",
"markdownCodeBlock": "enamelText",
"syntaxComment": "enamelOverlay1",
"syntaxKeyword": "enamelOrange",
"syntaxFunction": "enamelYellow",
"syntaxVariable": "enamelText",
"syntaxString": "enamelGreen",
"syntaxNumber": "enamelRedHi",
"syntaxType": "enamelSage",
"syntaxOperator": "enamelOverlay2",
"syntaxPunctuation": "enamelOverlay2"
}
}