Tlon is a decentralized messenger built on Urbit. CoderClaw connects to your Urbit ship and can respond to DMs and group chat messages. Group replies require an @ mention by default and can be further restricted via allowlists.
Status: supported via plugin. DMs, group mentions, thread replies, and text-only media fallback (URL appended to caption). Reactions, polls, and native media uploads are not supported.
Tlon ships as a plugin and is not bundled with the core install.
Install via CLI (npm registry):
coderclaw plugins install @coderclaw/tlon
Local checkout (when running from a git repo):
coderclaw plugins install ./extensions/tlon
Details: Plugins
channels.tlon.Minimal config (single account):
{
channels: {
tlon: {
enabled: true,
ship: "~sampel-palnet",
url: "https://your-ship-host",
code: "lidlut-tabwed-pillex-ridrup",
},
},
}
Private/LAN ship URLs (advanced):
By default, CoderClaw blocks private/internal hostnames and IP ranges for this plugin (SSRF hardening).
If your ship URL is on a private network (for example http://192.168.1.50:8080 or http://localhost:8080),
you must explicitly opt in:
{
channels: {
tlon: {
allowPrivateNetwork: true,
},
},
}
Auto-discovery is enabled by default. You can also pin channels manually:
{
channels: {
tlon: {
groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
},
},
}
Disable auto-discovery:
{
channels: {
tlon: {
autoDiscoverChannels: false,
},
},
}
DM allowlist (empty = allow all):
{
channels: {
tlon: {
dmAllowlist: ["~zod", "~nec"],
},
},
}
Group authorization (restricted by default):
{
channels: {
tlon: {
defaultAuthorizedShips: ["~zod"],
authorization: {
channelRules: {
"chat/~host-ship/general": {
mode: "restricted",
allowedShips: ["~zod", "~nec"],
},
"chat/~host-ship/announcements": {
mode: "open",
},
},
},
},
},
}
Use these with coderclaw message send or cron delivery:
~sampel-palnet or dm/~sampel-palnetchat/~host-ship/channel or group:~host-ship/channel~your-bot-ship) to respond.sendMedia falls back to text + URL (no native upload).