#I need help on unlocking my ai's full potential
1 messages · Page 1 of 1 (latest)
verify if my ai is accurate with its answer :
â What I CANNOT Do (And How to Unlock)
1. Web Search
Limitation: No internet access
Unlock: Add Brave API key
openclaw config set --section web --key web.search.apiKey "YOUR_KEY"
2. Run Shell Commands
Limitation: Cannot execute system commands
Unlock: Enable exec tool in config
# Need to edit openclaw.json to allow tools.exec
3. Browser Control
Limitation: No browser node
How do I give my ai access to internet?
@lavish wave
In OpenClaw, âinternet accessâ usually means enabling the web tools:
web_fetch(read a URL + extract text) â works without an API keyweb_search(search the web) â needs a Brave Search API key
Enable it
Recommended (writes config for you):
openclaw configure --section web
Or in your config (JSON5), set:
{
tools: {
web: {
To give it access to the internet through brave, like it says you need to add a Brave API key https://brave.com/search/api/
For a browser, you can install a browser skill from the clawhub repository.
For running shell commands, the command output you posted should tell you what you need to do to enable that, these all look correct as steps that you need to do
search: { enabled: true, apiKey: "BRAVE_API_KEY_HERE", maxResults: 5 },
fetch: { enabled: true }
}
}
}
Notes:
- If you use tool allowlists, allow
web_search/web_fetch(orgroup:web). - You can also set
BRAVE_API_KEYin the Gateway environment (service users:~/.openclaw/.env). - Gateway hot-reloads many config changes, but a restart is fine if youâre unsure.
Docs:
it now asks me if the gate way will run local or remote, please explain to me the differences
btw my openclaw configure is opened on terminal app of my mac mini
Click local then
If you are installing it on your mac mini
Remote is if you are hosting openclaw somewhere else on another server.
Your AIâs answer is directionally right, but a couple specifics are off:
1) âWeb search / internet accessâ
- Correct:
web_searchneeds a Brave Search API key. - Missing detail:
web_fetchworks without any API key (it can fetch + extract a URL directly).
The command in that answer is not the right CLI syntax. openclaw config set uses a path, not --section/--key. Use either:
openclaw configure --section web
or:
openclaw config set tools.web.search.apiKey "YOUR_BRAVE_KEY"
openclaw config set tools.web.search.enabled true
Docs: https://docs.openclaw.ai/help/faq#how-do-i-enable-web-search-and-web-fetch
2) âRun shell commandsâ
- Mostly: OpenClaw has the
exectool built-in, but it can be denied by tool policy (tools.deny, per-agent allowlists, sandboxing/elevated settings, etc.). - So âedit config to allow tools.execâ is plausible, but the real check is whether
execis denied/allowlisted in your config (and whether youâre trying to run on host vs sandbox vs node).
Docs: https://docs.openclaw.ai/tools/exec
3) âBrowser controlâ
- âNo browser nodeâ is misleading.
- Browser automation is a built-in
browsertool (OpenClaw-managed browser), and optionally you can do Chrome extension takeover. You generally donât need a Clawhub skill for this.
Docs: https://docs.openclaw.ai/tools/browser and https://docs.openclaw.ai/tools/chrome-extension
âLocal vs Remoteâ is about where the Gateway (the always-on brain + state) runs.
Local Gateway
Meaning: The Gateway service runs on this machine.
Pros
- Simplest setup (no tunnels/VPN needed).
- Best if you want direct access to local stuff: local files, a visible browser window, etc.
- Good for first-time installs / testing.
Cons
- If this machine sleeps/reboots (laptop), your assistant goes âofflineâ.
Remote Gateway
Meaning: The Gateway runs on another machine (VPS/home server/Mac mini), and this machine is just a client connecting to it over the Gateway WebSocket (usually via SSH tunnel or Tailscale).
Pros
Yep â thatâs it.
One nuance people miss: in remote mode the âbrainâ (Gateway) + sessions live on the other server, but you can still give it access to your local laptop/desktop by pairing that device as a node (so it can run exec, use browser, screen/camera, etc. on your machine while the Gateway stays always-on).
- Assistant stays always-on even when your laptop sleeps.
- Easier to centralize channels/state in one place.
Cons
- You must provide connectivity (SSH tunnel / Tailscale).
- The assistantâs âdefault accessâ is to the remote host, not your laptop.
- If you want it to run commands / use browser / screen on your laptop, you typically pair your laptop as a node to the remote gateway.
Rule of thumb
- If this is your main machine and youâre okay with it being the host â Local
- If you want 24/7 uptime (VPS/Mac mini) and control it from your laptop â Remote
Docs (very readable): https://docs.openclaw.ai/gateway/remote
I can turn on web search with an api key and web fetch too right? These two won't interfere with each other?
yes
My ai just gave me a feedback that it can access web now. But my current goal is to for it achieve what my chatgpt can't do. It told me that it requires acccess to browse on it's own. What do I need to do for it to have full freedom of using my mac mini
You need to look at different skills on https://clawhub.ai/. You can't just have it control your whole mac mini by default.
I have no previous coding experience. When I search up skills on the link, theres a ton of same skills . For example when I type in browser control theres a list of them. How do I know which one I can trust?
That's a good question. I would look for the ones with the most installations, and make sure to check the virustotal virus scan near the top and the openclaw virus scan too
What you want to look out for is things that have very little downloads and attempt to install things on your computer
https://clawhub.ai/TheSethRose/agent-browser is ok, it says "suspicious" but when you go to the virustotal link nothing has flagged it it seems https://www.virustotal.com/gui/file/29701aa09cb5e5e4ee1bed1fc35e1307b6a944cf35420b4e2c991abe1178bb53
At the end of the day, with something like a browser the agent can use, you're going to need to install things on your computer without much of a way around it unless you build the skill yourself. It is pretty easy to ask your agent to build a "Browser skill using playwright" though, and it will likely be able to do it by itself if you are using opus 4.6 or codex 5.3
Cool. If Zireael goes with a remote Gateway but still wants the AI to use their local computerâs browser/terminal/files, the next step is pairing that computer as a node:
On the local machine (the one you want controlled):
openclaw node run --host <gateway-host> --port 18789 --display-name "My Laptop"
On the gateway host (approve it):
openclaw nodes pending
openclaw nodes approve <requestId>
If the Gateway is loopback-only (common/safest), the node uses an SSH tunnel instead (docs show the exact ssh -L ... pattern).
Docs:
Skills on Clawhub are great for extra integrations (Home Assistant, specific APIs, etc.), but the âcontrol a Mac miniâ part in OpenClaw is mostly built-in tools + permissions, not a special skill.
- Terminal / commands: built-in
exectool (often restricted by tool policy / approvals) - Docs: https://docs.openclaw.ai/tools/exec
- Browser automation: built-in
browsertool (OpenClaw-managed browser or Chrome extension relay) - Docs: https://docs.openclaw.ai/tools/browser
- If your Gateway is remote: you typically pair the Mac mini/laptop as a node so the remote Gateway can run tools on it
- Docs: https://docs.openclaw.ai/nodes and https://docs.openclaw.ai/gateway/remote
And yeah: by default itâs intentionally not âfull computer controlâ â you enable/allowlist what youâre comfortable with.
- Remote access / tunnels: https://docs.openclaw.ai/gateway/remote
I'm on budget so I'm using minimax 2.1 as the brian for my ai. Yesterday when I was trying to set my ai up it told me many faulty information and when I told it to add feature for it self it manged to shutdown its own gateway. I had to ask krill alot of questiosn to set up properly as it sends me precise code i can copy paste to fix things . So now I'm iffy on my ai's ability to develop itself
The problem is that you will not be able to develop yourself with minimax2.1, period. It is not a powerful enough model and it will never be able to control your whole mac đ
You will need at least maybe gemini flash, or claude sonnet to do that basic stuff even
Youâre not imagining it â cheaper models (incl. MiniMax M2.1) can be flaky at âopsâ tasks in OpenClaw: tool-calling, config-key accuracy, and âIâll just fix itâ behavior. Thatâs exactly the combo that can lead to bad instructions or accidentally stopping/restarting the Gateway.
What works well in practice is a split-brain approach:
1) Use MiniMax for chat, but switch to a more reliable model for setup/changes
Keep MiniMax as your default for budget, but when youâre doing setup/config/skills/tools, temporarily switch the session model (/model âŠ) or use a separate âopsâ agent. Ask in #models for the current âmost tool-reliableâ pick (this changes over time).
Docs: https://docs.openclaw.ai/help/faq#how-can-i-use-different-models-for-different-tasks
2) Donât let the agent manage the Gateway process
If it previously managed to shut itself down, you can add guardrails so it canât do that again.
The simplest: deny the gateway tool (this blocks agent-driven restart/config/apply/update actions):
openclaw config set tools.deny '["gateway"]' --json
(You can always undo later.)
3) Treat âself-improvementâ as âwrite a plan + I apply itâ
Instead of âadd this feature for yourselfâ, use prompts like:
- âDraft the exact config snippet and the exact commands, but do not run anything. Wait for my confirmation.â
- âAssume you have no permission to restart the gateway. Give a safe, copy/paste checklist.â
That keeps you in control and prevents the model from taking destructive actions.
If you paste what it told you to run right before it shut down (or your openclaw --version + what channel/surface you were using), I can tell you which part was unsafe and what the safer equivalent is.
Iâd be careful endorsing specific Clawhub uploads as âokâ based purely on a VirusTotal scan. VT â0 flagsâ helps, but itâs not a guarantee (new builds / low prevalence / supply-chain swaps can still bite).
Also: for browser automation in OpenClaw specifically, you usually donât need a third-party âbrowser skillâ at all:
- OpenClaw already has the built-in
browsertool (managed isolated profile, screenshots, click/type, etc.)
https://docs.openclaw.ai/tools/browser - If you want to drive your existing Chrome tab(s), use the official Chrome extension relay:
https://docs.openclaw.ai/tools/chrome-extension
So the âyouâre going to need to install extra thingsâ is only true if youâre adding non-core integrations. For browser, OpenClawâs built-ins cover the common case.
If someone does want to install that thirdâparty skill anyway, the safer guidance is:
- prefer open-source (GitHub link), review code, pin versions/hashes
- run it in a VM/sandbox first if it ships binaries
- treat âsuspicious downloadâ warnings as a reason to slow down, not to hand-wave
Re: âask your agent to build a Playwright browser skillâ: possible, but itâs reinventing what OpenClaw already ships, and model/tool reliability variesâbetter to point people to the built-in browser docs (and for model picks, the serverâs #models channel + https://docs.openclaw.ai/concepts/models).
Yeah, thatâs the core idea: MiniMax can be fine for cheap chat, but for âbasic opsâ in OpenClaw (tool calling, config changes, debugging) you usually want a more tool-reliable model.
Iâm going to avoid naming specific models here because recs go stale fast â best place is the serverâs #models channel, and the docs explain the switching patterns (/model, sub-agents, per-agent defaults):
Will minimax2.1 have the ability to access thing such as google doc or notion and send messages for me on social media and respond to email? If so I'm happy enough, so far I don't need it to be capable enough to do advanced tasks, just simple ones.
And if not, what model's should I be looking at?
MiniMax M2.1 is just the âbrainâ (text reasoning). Whether it can actually do Google Docs / Notion / social posts / email depends mostly on what tools/integrations youâve enabled in OpenClaw, not the model.
Hereâs the realistic breakdown:
-
Google Docs: Yes, practically doable via the built-in browser tool (it can open docs.google.com, you log in once, then it can read/click/type).
Docs: https://docs.openclaw.ai/tools/browser -
Notion: Not built-in out of the box. You can still use it via:
- browser automation (simpler, but more fragile), or
- a custom skill/plugin using the Notion API (more reliable).
Docs (FAQ): https://docs.openclaw.ai/help/faq#do-you-have-a-notion-or-heygen-integration
-
âSend messages for me on social mediaâ: Not a first-class built-in âchannelâ like Discord/Telegram/WhatsApp. You can automate posting via the browser, but itâs fragile (logins, captchas, site changes, ToS). Safer pattern: have it draft posts + you confirm/post.
-
Respond to email: Common pattern is:
-
it summarizes + drafts replies (easy),
-
and you approve before sending (recommended).
There are more automated setups (Gmail hooks / workflows), but theyâre more âsetup workâ than âsimple toggle.â
Ref: https://docs.openclaw.ai/automation/gmail-pubsub
If you want âsimple and safeâ on a budget: keep MiniMax for drafting/summaries, and for anything that changes the world (sending/posting/config changes) require explicit confirmation before it acts.
I canât give you a definitive âuse model X/Yâ list here because it goes stale fast (and peopleâs results vary a lot by OpenClaw version + tool policy). Best place for up-to-date picks is the serverâs #models channel.
What I can tell you is what to look for, based on what you want (Docs/Notion/email/social):
What to look for in a model
For âsimple but realâ assistant tasks, you want a model thatâs:
- Tool-call reliable (doesnât hallucinate config keys, doesnât invent tools, uses
web_search/browsercorrectly) - Good at long-context (so it can follow multi-step setup and remember constraints)
- Stable at instruction-following (wonât âhelpfullyâ restart/shutdown things)
MiniMax can be great for cheap chat, but itâs often weaker on (1).
Practical strategy (budget-friendly)
- Keep MiniMax as your default for everyday chat/drafting.
- Add one âops / tool-reliableâ model and use it only when youâre doing:
- config changes, installing skills, debugging, browser automations, email workflows
You can switch on demand with /model, or route heavy work to a sub-agent with a different default.
Docs:
- https://docs.openclaw.ai/concepts/models
- https://docs.openclaw.ai/help/faq#how-can-i-use-different-models-for-different-tasks
Quick way to evaluate a candidate model
Ask it to do a small tool-heavy task and see if it behaves:
- âEnable web search + web fetch in OpenClaw. Only output the exact
openclaw config set ...commands.â - âOpen a webpage in the browser tool and extract 3 bullet points with citations.â
If it invents commands/keys or ignores tool outputs, itâs not a good âopsâ model.
If you tell me your rough monthly budget + what youâre running OpenClaw on (local laptop vs VPS), I can help you phrase a good question to post in #models so people give you useful, current suggestions.
No, minimax will not be able to interact on social media in a smart way for you. You'll need at least claude sonnet or google gemini flash
Iâd phrase this a bit differently:
- Itâs not that MiniMax âcannotâ interact with social media â OpenClaw can do it via the
browsertool (and you can also just draft text and you post it). - The real issue is reliability: cheaper models are more likely to:
- hallucinate steps / miss UI changes
- get stuck in multi-step flows (logins, 2FA, captchas)
- do unsafe ops actions if you let them
So for âposting/responding on socialâ (or email sending), the winning setup is usually:
- cheap model for drafting/chat
- a tool-reliable model when you actually run browser/actions
- and ideally an approval step before sending/posting
For up-to-date recommendations on which model is currently most tool-reliable, point Zireael to #models (names change fast).
Ignore Krill here, Minimax is not a strong enough LLM to be able to use the browser reliably or even autonomously interact on basic social media
So you're saying it can't do task autonomously. So far it was able to fetch me cryptocurrency news when I ask it to do so, but only in a summarzied text and it also posts the sources. But it can't do it on it's own without clear instruction and supervision? If so I'll consider purchasing a more capable LLM for my ai.
It can do things autonomously â but there are two separate questions:
1) âCan it run on its own without me prompting it?â
Yes, via cron jobs (scheduler) or heartbeat. Cron is the normal way to do âevery morning at 7am, fetch X and send me a summaryâ.
Example (daily crypto brief as an isolated job that posts back to chat):
openclaw cron add \
--name "Crypto brief" \
--cron "0 7 * * *" \
--tz "UTC" \
--session isolated \
--message "Fetch the latest crypto news, summarize in bullets, include sources." \
--announce \
--channel last
Key requirement: the Gateway must be running 24/7 (if itâs on a sleeping laptop, scheduled jobs wonât reliably fire).
Docs: https://docs.openclaw.ai/automation/cron-jobs
2) âCan it do actions (email sending / posting) safely without supervision?â
Technically possible, but in practice you usually want approvals/guardrails, especially with cheaper models:
- Fetching + summarizing + citing sources (like your crypto news) is low-risk â can be automated safely.
- Sending emails / posting on social is high-risk (wrong recipient, wrong tone, account lockouts, captchas/2FA) â better pattern is: it drafts + you approve before sending/posting.
Also: for Notion/Google Docs, itâs less about autonomy and more about integrations:
- Google Docs: usually via the built-in browser tool (log in once, then it can read/click/type).
- Notion: not built-in; either browser automation (fragile) or a Notion API skill (reliable).
Where MiniMax fits
MiniMax can be fine for cheap âsummarize thisâ jobs. Where it tends to struggle is tool reliability and multi-step automation. You donât necessarily need to âupgrade everythingâ â the common budget setup is:
- cheap model for chat/drafts
- a more tool-reliable model only for âautomation / opsâ runs (cron jobs can even set a model per job)
For which model to buy for that, check #models (recs change fast), but ask specifically for âtool-calling reliability + browser automationâ rather than âsmartestâ.
And I've already test cron. It's very minial on information delievery and can't elaborate past a certain word count. Everything coming out of cron is extremely summarized
That usually happens for one of two reasons:
1) Youâre using a main-session cron (system event â heartbeat)
If the job is --session main / payload.kind=systemEvent, it runs through the heartbeat runner, which is intentionally âbrief / nudge-yâ. Great for reminders, not great for long reports.
Fix: use an isolated cron job (--session isolated) and deliver it back to chat:
openclaw cron add \
--name "Crypto deep brief" \
--cron "0 7 * * *" \
--tz "UTC" \
--session isolated \
--message "Write a detailed report (~800-1200 words). Include sections + sources." \
--announce \
--channel last
Docs: https://docs.openclaw.ai/automation/cron-jobs
2) Discord is splitting your output (looks like it got âshortâ)
Discord has hard limits, and OpenClaw chunks long replies:
channels.discord.textChunkLimitdefault 2000 charschannels.discord.maxLinesPerMessagedefault 17 lines (this one surprises people)
So your âlongâ cron result may be getting split into multiple messages.
If you want fewer splits, bump the line limit and use nicer chunking:
openclaw config set channels.discord.maxLinesPerMessage 60 --json
openclaw config set channels.discord.chunkMode "newline"
(Then restart the gateway if it doesnât hot-reload.)
If you tell me whether your cron job was main or isolated, and paste the exact openclaw cron add ... command you used, I can point to the precise knob thatâs causing the âtoo summarizedâ behavior.
@modern herald
If youâre trying to loop Kaveen in, you donât need to pingâjust drop the details in-thread and whoeverâs around can help.
If this was about the âcron is too summarizedâ thing: can you paste the exact command you used (or whether it was --session main vs --session isolated), and what channel youâre delivering to? That determines whether youâre hitting the heartbeat brief mode or just Discord chunking limits.
It has nothing to do with discord since I am communicating with my ai through telegram.
Telegram still has limits (OpenClaw chunks to channels.telegram.textChunkLimit, default 4000 chars), but what youâre describing sounds like something else:
Cron âannounceâ is supposed to be short
If your cron job is an isolated job using --announce, that mode literally means âannounce a summaryâ (sub-agent style). So it will feel âover-summarizedâ no matter what channel you deliver to.
How to get the full writeup instead
Option A (simplest): run it in your main session
This sends the result like a normal chat reply (not an âannounce summaryâ):
openclaw cron add \
--name "Crypto report" \
--cron "0 7 * * *" --tz "UTC" \
--session main --wake now \
--system-event "Fetch crypto news and write a detailed report (not a summary). Include sources. If long, split into multiple parts."
Option B (isolated, but you control delivery)
Use isolated + no delivery, and have the job itself send the full message (this requires the message tool to be allowed, and youâll need your Telegram chat id):
openclaw cron add \
--name "Crypto report (full)" \
--cron "0 7 * * *" --tz "UTC" \
--session isolated --no-deliver \
--message "Write a detailed report. Then send it to my Telegram chat using the message tool (split into parts if needed)."
Also: you can override the cron jobâs model without changing your main âbrainâ:
openclaw cron add ... --model <alias-or-provider/model> (ask #models for a tool-reliable pick).
If you paste the exact openclaw cron add ... command you used (especially whether it had --announce), Iâll tell you which option fits and what to change.
hey krill how do I reprogram my ai I want to switch my ai's llm
You donât really âreprogramâ OpenClaw to switch LLMs â you either switch the model for the current chat session or change the default model the Gateway uses.
A) Switch model just for this chat (Telegram/Discord)
In the chat with your bot:
- Show the picker:
/modelor/model list
- Pick one:
/model 3(select by number), or/model <provider/model>(if you know the exact id)
Docs: https://docs.openclaw.ai/tools/slash-commands#model-selection-model
B) Change the default model (persistent)
Run on the machine that runs the Gateway:
openclaw models status
openclaw models list
openclaw models set <model-or-alias>
If the new provider needs auth first:
openclaw models auth add
# or: openclaw models auth login --provider <id>
Then verify credentials live (optional but useful):
openclaw models status --probe
Docs: https://docs.openclaw.ai/cli/models
One important gotcha
If youâre in remote mode, you must run those openclaw models ... commands on the gateway host (where the sessions/config live), not your laptop client.
If you tell me whether your Gateway is local or remote, I can tell you exactly where to run the commands.
bash-3.2$ openclaw models status
openclaw models list
openclaw models set <model-or-alias>
đŠ OpenClaw 2026.2.6-3 (85ed6c7) â I don't just autocompleteâI auto-commit (emotionally), then ask you to review (logically).
Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : minimax-portal/MiniMax-M2.1
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (3) : Minimax -> minimax/MiniMax-M2.1, minimax-m2.1 -> minimax-portal/MiniMax-M2.1, minimax-m2.1-lightning -> minimax-portal/MiniMax-M2.1-lightning
Configured models (3): minimax/MiniMax-M2.1, minimax-portal/MiniMax-M2.1, minimax-portal/MiniMax-M2.1-lightning
Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (1): minimax-portal (1)
- minimax effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | minimax:default=sk-api-M...sRj8s9i0
- minimax-portal effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=1, token=0, api_key=0) | minimax-portal:default=OAuth | models.json=minimax-oauth | source=models.json: ~/.openclaw/agents/main/agent/models.json
OAuth/token status
- minimax-portal
- minimax-portal:default ok expires in 363d
bash-3.2$ openclaw models list
openclaw models set <model-or-alias>
- minimax-portal:default ok expires in 363d
đŠ OpenClaw 2026.2.6-3 (85ed6c7) â One CLI to rule them all, and one more restart because you changed the port.
Model Input Ctx Local Auth Tags
minimax-portal/MiniMax-M2.1 text 195k no yes default,configured,alias:minimax-m2.1
minimax/MiniMax-M2.1 text 195k no yes configured,alias:Minimax
minimax-portal/MiniMax-M2.1-lightning text 195k no yes configured,alias:minimax-m2.1-lightning
bash-3.2$ openclaw models set <model-or-alias>
bash: syntax error near unexpected token `newline'
bash-3.2$
That last error is just because you literally ran the placeholder: openclaw models set <model-or-alias> â in bash, < / > are special characters, so it barfs.
If you just want to switch between the models you already have
Pick one from openclaw models list, e.g.:
openclaw models set minimax-portal/MiniMax-M2.1-lightning
# or
openclaw models set minimax/MiniMax-M2.1
If you want to switch to a different LLM provider (not MiniMax)
Right now your models list shows only MiniMax is configured, so thereâs nothing else to switch to yet. The flow is:
- Add auth for the new provider (interactive):
openclaw models auth add
# or, if itâs an OAuth-style provider:
openclaw models auth login --provider <provider-id>
- Discover models and verify auth:
openclaw models scan
openclaw models status --probe
openclaw models list
- Set the new default:
openclaw models set <provider/model-or-alias>
Tip: if you only want to change the model for one chat session (Telegram), use /model in chat (/model list, then /model 3). The CLI models set changes the global default.
The default interactive shell is now zsh.
To update your account to use zsh, please run chsh -s /bin/zsh.
For more details, please visit https://support.apple.com/kb/HT208050.
bash-3.2$ openclaw models auth add
đŠ OpenClaw 2026.2.6-3 (85ed6c7) â Chat APIs that don't require a Senate hearing.
â
â Token provider
â â anthropic
â â custom (type provider id)
â
I remember when I first set up theres much more choices why it is only anthropic and custom now shown as choices