How to Write Thoughts in Character AI: Formatting That Actually Works
Insights | Updated on April 10, 2026
By Lizzie Od, AI Companion Editor

TL;DR:
- Write thoughts in Character AI by wrapping them in single asterisks:
*I wonder if she noticed*— this renders as italics and signals internal monologue to the AI. - Actions use the same asterisk format but describe physical behavior:
*leans against the wall*. - Dialogue stays in plain text or quotation marks:
“I'm fine.” - This guide covers formatting syntax, troubleshooting (bot reading your thoughts, ignoring actions), and cross-platform tips for Janitor AI, CrushOn.AI, and ourdream.ai.
Most people figure out dialogue in character ai alternative platforms within their first chat. You type words, the bot responds. Simple enough.
But formatting thoughts — the internal monologue that your character thinks but does not say out loud — is where things fall apart. The platform processes over 10 billion messages per month, and a huge chunk of those are roleplay exchanges where the difference between a thought, an action, and a spoken line actually matters.
Get the formatting wrong and your bot starts narrating your private thoughts like a mind-reader, or worse, putting words in your mouth you never typed. Here is how to write thoughts in Character AI so the model treats them correctly — plus troubleshooting fixes and tips that carry over to other platforms. If you're building a new bot from scratch rather than fixing an existing one, start with our companion guide on how to write character ai bot definitions.
How Do You Write Thoughts in Character AI?
You write thoughts in Character AI by wrapping them in single asterisks, like this: *I wonder if he's lying*.
The asterisks render your text in italics, and the AI model interprets italicized text as narration — internal monologue, description, or action rather than spoken dialogue.
Here is a practical example of how to format a message with both thoughts and dialogue:
*She glances at the door, heart pounding. * “Yeah, I'll be right there.” *But something about his tone doesn't sit right.*
In that message, everything inside asterisks is what your character thinks or does. Everything in quotes is what your character says out loud.
The AI picks up on this structure and responds accordingly — it will reply to the spoken dialogue and react to the described actions, while generally treating the asterisk-wrapped internal thoughts as context it can “sense” but not directly quote back.
A few rules that trip people up:
- No space after the opening asterisk.
*thought*works.* thought *usually does not render as italics. - Close your asterisks. An unclosed
*thoughtwithout the ending asterisk breaks formatting for the entire message. The AI still sees the text, but it loses the structural signal. - Nesting works. A message like
*She picks up the letter, scanning it quickly. Why would he write this?*is fine — the AI reads the whole block as narration and can distinguish the internal question from the physical action by context. - Mix all three types for richer responses. We tested this across about 40 conversations and the responses were consistently more detailed when our messages combined thoughts, actions, and dialogue versus plain text only. The AI mirrors what you give it.
If you just want the fastest possible reference, here it is.
Quick-Reference Formatting Cheat Sheet
How Do You Write Actions in Character AI?
You write actions in Character AI using the same asterisk formatting as thoughts — *walks toward the door* — but the key difference is context, not syntax.
Thoughts describe what's happening inside your character's head. Actions describe what's happening with their body.
The AI can't actually tell the difference between *I feel nervous* (a thought) and *fidgets with her ring* (an action) based on the asterisks alone. Both render as italics.
What distinguishes them is the content: the model reads “I feel nervous” as internal state and “fidgets with her ring” as observable behavior, then responds accordingly.
Quick examples:
- Action only:
*draws her sword and takes a defensive stance* - Thought only:
*This might be a trap.* - Action + thought:
*She draws her sword, hands shaking. This might be a trap.*
One thing that confuses new roleplayers — and honestly, it confused us for a while too — is that the asterisk convention comes from text-based RP communities that predate AI chatbots by decades.
MUD games, forum RP, IRC channels. The syntax was never designed for AI interpretation. It carried over because Character.AI's model was trained on enough roleplay text to recognize the pattern, which is kind of fascinating when you think about it.
What Is the Difference Between Thoughts, Actions, and Dialogue?
The difference between thoughts, actions, and dialogue in Character AI comes down to what your character is doing versus saying versus thinking — and the AI handles each one differently in its response.
Here is a single RP exchange using all three:
*She hears footsteps behind her and freezes.* “Who's there?” *Please don't be him. Not tonight.*
The AI will: (1) acknowledge the action of freezing, (2) respond to the spoken question “Who's there?”, and (3) build tension around the fear expressed in the thought — but it should not quote the thought back or have the other character “hear” it.
When the formatting is clear, the model is surprisingly good at maintaining this separation. When it is not clear, things get messy fast.
Why Does Formatting Matter for AI Responses?
Formatting matters because Character AI's model treats asterisk-wrapped text and quoted text as structurally different inputs — and this directly affects how coherent the response is.
An unformatted message like I walk over and grab the letter I cant believe he wrote this what does he want gives the AI one undifferentiated blob. It has to guess what is action, what is thought, what is speech.
A formatted version — *I walk over and grab the letter.* “I can't believe he wrote this.” *What does he want?* — gives the model three distinct signals to work with. Better input, better output. That is basically the whole principle.
We ran about 30 side-by-side comparisons between formatted and unformatted messages across different characters. Formatted messages consistently produced responses that stayed in character longer and contained fewer “the AI just made up what I was thinking” moments.
The repeat chat rate on Character.AI sits at 70%, and from what we've seen, users who format consistently are the ones building multi-session RP threads that actually hold together.
Janitor AI's writing style guide makes a similar point: the bot “takes what you say at face value,” so structuring your input clearly is the single most impactful thing you can do for response quality.
How Can You Get Character AI to Write Longer Responses?
The fastest way to get Character AI to write longer responses is to write longer messages yourself — the model mirrors your message length and formatting density.
If you send one-line messages, you get one-line answers. Send a paragraph with actions, thoughts, and dialogue, and the AI matches that energy.
A few other things that help:
- The response length setting actually works now. Character.AI added response length customization in March 2025, letting you select longer outputs directly. It isn't perfect, but it is a real improvement over the old days of hoping the bot felt chatty.
- Chat style matters more than people realize. Deepsqueak mode is built for long-form narrative roleplay and produces noticeably longer responses than the default. PipSqueak does the opposite — short and fast.
- Formatting variety gives the AI more to respond to. A message that includes
*action*,“dialogue”, and*thought*in one block gives the model more hooks. More hooks, longer reply. - Specific details beat vague prompts every time. Describe the room, name an object, reference something from earlier in the conversation. Generic input gets generic output.
But here is the tension nobody really talks about: Character.AI's safety filters can still truncate responses mid-scene, especially if the RP gets intense or skirts content guidelines.
You can do everything right — long messages, good formatting, Deepsqueak mode — and still hit a wall where the response gets cut short or flattened. That is a platform limitation, not a formatting problem. And it does not have a formatting fix.
What Are the Most Common Formatting Problems in Character AI?
The most common formatting problems in Character AI are the bot speaking for you, your thoughts leaking into dialogue, and the AI ignoring your actions entirely. All three have fixes.
None of the fixes work every single time — Character.AI's model has its own ideas sometimes, and that's just the reality of RP on a platform you don't control.
The Bot Keeps Speaking for You
This is the single biggest frustration in C.AI roleplay. You describe one action and the bot writes three more on your behalf.
One Reddit user put it bluntly: “Every single RP bot I try ends up speaking for me. Like I'll say *kisses you* and it goes ‘You kiss me back passionately, our tongues intertwining...’ NO I DIDN'T.” — r/CharacterAI
The fix: At the start of your chat, include an OOC instruction: (Never write my character's actions, dialogue, or thoughts. Only respond as your character.)
This does not work 100% of the time, but it reduces the problem significantly. When the bot does take over, swipe to regenerate — sometimes the next response respects the boundary.
Your Thoughts Leak into Dialogue
The fix for this one is simpler than people expect. Keep thoughts short and clearly separated from observable actions.
Instead of *thinks about how much she hates this while crossing her arms*, split it: *crosses her arms* on one line, then *She hates this.* separately. The AI conflates long mixed blocks more often than short, distinct ones.
As one user described it: “RP rule: *thinks: I hate this.* Bot: ‘I can see you hate this in your eyes.’ No, it's internal! Fix your parsing!” — r/CharacterAI_RP
And honestly, some thoughts are better left untyped. If you do not want the AI to react to a thought at all, consider not including it. The model sees everything you type.
The AI Ignores Your Actions
You format an action perfectly. The bot responds as if you said something completely different.
“Tried *ducks behind cover* in combat RP. Bot: ‘You stand there frozen as I shoot you.’ Asterisks mean ACTION, not dialogue!” — r/CharacterAI_RP
The fix: Make your actions more descriptive. *ducks behind cover* is three words — the model sometimes skims past it. *ducks behind the stone wall, pressing flat against it* gives more for the AI to anchor on.
Also check your asterisk spacing — * ducks * with spaces might not register as formatting at all.
Do These Formatting Tips Work on Other AI Chat Platforms?
Yes, most of these formatting tips work across AI chat platforms — asterisks for actions and thoughts, quotes for dialogue — but each platform has its own quirks worth knowing.
Janitor AI follows very similar conventions. Their official writing style guide recommends asterisks for actions and italics for narration, quotes for dialogue. If you're comfortable formatting on Character.AI, janitor ai alternative platforms will feel familiar. The main difference is that Janitor AI gives you more control over the underlying model through API settings.
CrushOn.AI supports standard markdown formatting and has a dedicated Thoughts Guide in their wiki. The platform handles asterisk formatting similarly, though the NSFW-focused models can sometimes be less precise about separating thoughts from actions in longer exchanges. For more depth on this platform, see our roundup of crushon ai alternatives.
SpicyChat supports markdown including asterisks and bold. Their formatting conventions align with the broader roleplay community standard. If SpicyChat's limitations push you toward alternatives, we cover spicy chat ai alternatives in a dedicated article.
ourdream.ai is where formatting and creative control come together best. The character backstory fields go up to 100,000 characters — enough space to define your RP conventions, formatting preferences, and character personality so the AI follows your rules from the very first message without you having to re-explain them.
The four-layer memory system means your formatting preferences carry across conversations. You set it once, the AI remembers. And because ourdream.ai has no NSFW restrictions, there are no filter walls interrupting your ai sex chat roleplay mid-scene when things get intense — for the full picture on why Character.AI interrupts mature scenes in the first place, our explainer on does character ai allow nsfw covers the policy history. The conversation goes wherever you take it. You can also AI Girlfriend from scratch and embed any formatting rules directly into the character definition. For a ranked shortlist of every platform that handles this kind of RP formatting well, see our roundup of the best nsfw ai chat tools.
FAQ
Why does the AI read my thoughts out loud instead of keeping them private?
→
The AI doesn’t actually read your thoughts. The model uses all text in your message as context for generating its response, regardless of formatting. Asterisk-wrapped thoughts are visible to the model the same way actions are. When the character responds directly to your internal thought, it is because the model weighted that text too heavily. The fix is to keep thoughts brief, clearly separate them from actions, or use OOC instructions to tell the character to ignore internal monologue.
What is the difference between asterisks and parentheses in Character.AI?
→
Asterisks (*like this*) render as italics and are used for actions, thoughts, and narration. The AI interprets them as in-character content. Parentheses ((like this)) stay as plain text and are conventionally used for out-of-character notes or instructions to the AI. The AI treats parenthetical text as meta-communication rather than in-character content to react to.
Can I use bold or strikethrough formatting in Character.AI?
→
Yes. Character.AI supports bold (**text**), italics (*text*), strikethrough (~~text~~), highlight (`text`), and headers (# text). Bold is useful for emphasis in dialogue. Strikethrough can add a playful self-correction effect. Most roleplayers stick to italics for thoughts and actions since the AI is most reliably trained on that convention.
Do these formatting tips work on other AI chat platforms like Janitor AI?
→
The core conventions transfer well across platforms. Janitor AI, CrushOn.AI, SpicyChat, and ourdream.ai all support asterisk-based formatting for actions and thoughts. The differences are in how each platform’s underlying model interprets the formatting and what additional features exist. The asterisk-for-actions, quotes-for-dialogue standard is universal across the AI roleplay community.

Related Articles
Browse All →
ourdream vs candy.ai
sweeter than candy?
Read full article →

ourdream vs GirlfriendGPT
Which AI companion actually remembers you?
Read full article →

ourdream vs JuicyChat
Comparing content freedom and image quality.
Read full article →

ourdream vs SpicyChat
How does SpicyChat stack up against ourdream?
Read full article →