CodeHerderSearch⌘KRequest access →

Custom branding

Replace the CodeHerder name, colours, and login screen your people see, on the Enterprise plan.

Custom branding replaces the CodeHerder name, wordmark, colours, and login screen with your own, on the Enterprise plan — see Plans and limits. Below Enterprise, the branding page shows an upgrade prompt and no form.

Two scopes, two different effects

You can set a brand profile at two different scopes, and they don’t do the same thing:

  • Your workspace (or a group, which passes its profile down to every workspace nested under it) sets the name and sender your people see on transactional email — the display name a message comes from, and the product name in an invitation’s subject and body.
  • Your whole deployment sets what everyone sees in the web app itself — the login screen’s wordmark, tagline, and illustration, the app shell’s mark and wordmark, the browser tab title, the favicon, and the accent colours in both themes. On the hosted service, only CodeHerder sets this. On a self-hosted deployment, this is the profile to set, and only your deployment’s own operator or your account’s owner can set it — see Self-hosted deployment.

So a workspace profile changes what your invitees see in their inbox. It does not restyle the app. If you want your people to see your own name and colours when they open CodeHerder, that comes from your deployment’s profile, which only applies on a self-hosted deployment.

Every field on a profile is independent and optional — set only a mark and you keep the rest of the default look. An empty profile renders exactly like an unbranded CodeHerder.

Setting it from the web app

Open Settings → Branding. Below Enterprise, the page shows an upgrade prompt and no form. On Enterprise, you need to be a workspace owner or admin. Anyone else sees a notice that managing branding needs an owner or admin, and the profile itself doesn’t load for them. A live preview shows how your changes will look as you edit them.

The fields are:

  • Product name — replaces “CodeHerder” in prose and the browser tab title. Up to 64 characters.
  • Wordmark — primary half and Wordmark — accent half — the two-tone logotype shown in the app shell and on the login screen. Up to 32 characters each.
  • Login tagline — the line under your wordmark on the login screen. Up to 120 characters.
  • Support URL — where your people go for help. It’s stored and validated, but nothing in the app links to it yet — set it if you like, but don’t expect to see it rendered anywhere today.
  • Accent — dark theme and Accent — light theme — one seed colour per theme; see Colours below.
  • Mark and Scene image — your logo and the illustration beside the login card; see Images below.
  • Email from name — replaces the display name your transactional email sends from. It never changes the email address itself.
  • Show this brand before sign-in — a checkbox that allows this workspace’s brand to be shown before sign-in. See Before sign-in below for what it exposes.

Setting it from the CLI

ch branding show and ch branding set read and write a profile from the command line. Without --instance, both act on your current workspace; add --instance to target the deployment-wide profile instead (self-hosted only, and it needs no workspace).

ch branding show
ch branding set --product-name "Acme Build" --email-from-name "Acme Build"
ch branding set --accent-dark "#2f6feb"

show prints only what’s stored at that exact scope, not the result after falling back to a parent workspace or the deployment default — an empty answer just means nothing is set here yet. set needs at least one field flag; pass an explicit empty value to clear a field:

ch branding set --support-url ""

ch branding set can’t upload an image itself — --mark-asset and --scene-asset take the reference of an image you’ve already uploaded through the web app.

Colours

Instead of picking every shade by hand, you give CodeHerder one seed colour per theme, and it derives the rest — hover states, text-on-accent, and so on. CodeHerder checks each seed against that theme’s own panel background and refuses one that fails the WCAG AA contrast standard, telling you the ratio it measured and the ratio it needed. If a save is rejected, move the colour away from the background it failed against: choose a lighter colour for the dark theme, and a darker one for the light theme.

Images

Your mark and scene image must be PNG, JPEG, or WebP. SVG files are refused. Each file can be at most 2 MiB, and at most 4096 pixels on its longest side. CodeHerder reads the actual file to confirm its format and dimensions, so renaming a file won’t get it past the check. Uploading happens in the web app; the CLI can only point at an image you’ve already uploaded.

Before sign-in

Show this brand before sign-in allows this workspace’s brand to be shown to someone who hasn’t signed in yet.

The app’s own login screen doesn’t ask which workspace you’re signing in to. So signing in through the app looks the same whether you tick the box or not. What the box changes is that your brand becomes publicly readable. Once you turn it on, anyone who knows your workspace’s name can read its brand without signing in. That covers the product name, wordmark, tagline, mark, scene image, accent colours, and your Support URL. Leave the box clear if you’d rather not publish any of that. Your brand still reaches the people you email, and your owners and admins can still read the profile.

On a deployment-wide profile the box does nothing at all — a signed-out visitor sees your deployment’s brand either way.

What stays CodeHerder

A few things stay CodeHerder no matter what you set: the ch command itself, and the names an integration’s own code checks for, like a webhook’s signature. Custom branding covers what people see in the product, not the identifiers your own tools and integrations rely on.

Custom branding also doesn’t cover a few things some teams expect: there’s no way to register your own hostname for the app today, and it doesn’t rebrand your identity provider’s own sign-in screen — if your workspace uses single sign-on, people see your provider’s screen because your provider renders it, not CodeHerder. See Single sign-on (SAML).

Who can change it

Reading a workspace or group profile needs a workspace owner or admin. Writing one needs owner or admin and the Enterprise plan. Below Enterprise, an owner or admin can still read the stored profile with ch branding show. The settings page shows the upgrade prompt instead of a form, so reach for the CLI if you want to see what’s stored. An agent’s session can never write a brand profile, even one running as an owner or admin. Writing the deployment-wide profile needs your deployment’s own operator or your account’s owner.

Last updated

CodeHerder

Round up your herd.

Bring every human and every agent onto one table. Watch the work move. Costs update as it happens.

Try "pricing", "connect a device", or "who reviews the code"

↑↓ move · ↵ open · esc close