← Back to docs

X-bot Changelog

X-bot Changelog

This is the public changelog for the X bot configured in Tools. Its visible name comes from the saved bot account instead of being hardcoded in the page; the current deployment uses SwedeGPT. The legacy filename remains stable so existing links keep working.

Use it when someone asks what changed, why replies differ from older screenshots, or where the public X-bot guide lives.

For current behavior, see:

This changelog covers public, user-visible behavior. It does not disclose private runtime configuration, credentials, or infrastructure.


2026-08-10 - Explicit image requests keep their image retry path

  • Clear image commands now stay on the image-generation path even when the semantic image-intent router hesitates or misreads the request.
  • Manual reprocessing now clears stale negative image_generation decision state before trying again, while keeping already fetched reference-image data available for the next run.
  • That means an operator can reprocess a misrouted image request and get a real fresh image decision instead of silently reusing an older should_generate=false result.

2026-08-08 - Direct answers, cross-thread memory, sticky hashtags, remembered rules, and clearer statistics

Reply policy is less moralizing without weakening factual support

  • Public web search remains mandatory, including last-chance reply recovery.
  • A normal question mark, explanation, rhetorical prompt, hypothetical, or roleplay request no longer forces strict fact-check formatting on its own.
  • Strict verification is reserved for explicit verification, source, or proof requests.
  • OpenAI decides that intent semantically from the full interaction in the structured reply. The local phrase list is used only as a fallback when the structured intent marker is missing.
  • The bot now answers the requested point first and avoids unsolicited moral, legal, safety, or etiquette lectures.
  • Passive mentions in conversations between other people are skipped before AI generation. The bot answers when the post starts by addressing it or contains a concrete question/request; explicit profile/rule/admin commands keep their dedicated paths.
  • Configured admins may steer harmless tone and roleplay more strongly for the current reply, while concise fixed privacy and serious-harm boundaries remain.

Memory, remembered rules, and user-owned response profiles work across threads

  • Relevant history from unrelated X threads can be supplied in two separate buckets: what the bot previously published and what other people previously said to it.
  • Other people's earlier statements remain attributed context rather than automatically becoming verified facts.
  • Configured admins can create remembered keyword rules with Kom ihåg or Sätt en regel, list them with Lista regler, and remove them by id or name.
  • Each X user can explicitly save, show, or remove a self-owned response profile. It is keyed by stable X user id and controls wording/tone for replies to that user without becoming factual memory.
  • Questions such as "How have you profiled me?" return that same stored profile row or a clear statement that no profile exists.
  • X-bot storage migrations now guard both missing tables and partially present tables additively. These forward-only migrations intentionally define no down() rollback path.

Conversation hashtags can stay sticky

  • A hashtag introduced by a participant in an X conversation is now kept on later bot replies in that conversation by default, even if later posts omit it.
  • The participant who introduced a sticky hashtag can remove that hashtag. Configured trusted X-bot admins can remove any sticky hashtag; other participants cannot remove somebody else's sticky tag.
  • Keep thread hashtags is enabled by default and saves over AJAX. Turning it off pauses sticky inheritance without erasing earlier stored thread state. Re-enabling resumes the earlier state, while hashtags introduced during the disabled period are not learned for later use.
  • Sticky thread hashtags are separate from operator-managed Required closing hashtags, which continue to apply globally according to their existing configuration.

Statistics and identity are clearer

  • Public/admin X-bot pages now use the saved display name or X username instead of the hardcoded legacy name.
  • The public statistics layout has cleaner, responsive model/search/persona cards.
  • The latest-answer copy now explains the stored result in ordinary language instead of exposing raw reasoning breadcrumbs.
  • Statistics distinguish the configured reasoning level from the level actually selected for the reply.
  • A configured high reasoning floor is honored by the structured retry ladder instead of restarting at low.
  • Forced web search is shown explicitly as required and used.
  • Older replies that were actually published but predate the newer decision metadata are now recognized from their stored X reply id/status instead of being mislabeled as not approved.

2026-08-06 - Smarter Fact Verify intent and X-bot image generation access

  • Fact Verify creation/source intent is now classified from the full interaction instead of relying only on fixed phrase matching.
  • Explicit requests can force a public Fact Verify page, while source intent controls when search-backed support is required.
  • The X-bot operator API gained an authenticated image-generation endpoint that reuses the existing OpenAI image workflow and account controls.

2026-08-05 - Sentence-safe posting and reusable public Fact Verify pages

  • A final posting preflight unwraps structured reply fields before length handling, preventing fragments of JSON envelopes from reaching X.
  • Overlong replies are shortened at complete sentence boundaries; malformed or irreparably clipped candidates are blocked instead of posted.
  • Source-heavy replies can reuse the public Fact Verify archive and include a stable public verification link when a full supported answer does not fit safely on X.

2026-08-03 - Better dry-run diagnostics and rename-safe reprocessing

  • Dry-run review can show the raw AI result and whether web search was used, making failed or surprising candidates easier for operators to diagnose.
  • Manual reprocessing now survives bot-account renames by recognizing both stored/current usernames and the stable account identity.

2026-07-28 - More relevant RSS sources and clearer account access

  • RSS questions can be mapped to the most relevant feed sources before archive lookup, improving focused questions about a named publisher or source.
  • Signed-in users with the required Tools AI access gained clearer X-bot dashboard entry points and account-scoped management, while admins retain primary-account visibility.

2026-07-22 - Public statistics and opt-out recovery hardening

  • Public statistics, interaction review, and opt-out handling became more resilient after incomplete or partially applied upgrades.
  • A missing historical data surface no longer has to turn the public statistics page or X-bot control room into a generic server error.

2026-07-08 - Search-first verification is now always on

Public factual replies now verify before they trust

ToolGPT now treats public web search and source-checking as a built-in baseline for public X replies instead of as a soft persona-level preference.

Public effect:

  • factual/public-claim replies should now search first more consistently,
  • the bot should be less likely to parrot a user's framing or jump straight to “there is no evidence” without checking,
  • and persona/custom-instruction text can still influence tone, but it can no longer switch off verification-first behavior.

2026-05-31 - Stricter language consistency and deeper structured-reply retries

Thread language is now kept more consistently

ToolGPT now treats the conversation language much more strictly inside a thread instead of merely treating it as a soft preference.

Public effect:

  • if a thread is clearly Swedish, the reply should stay Swedish,
  • if a thread is clearly English, the reply should stay English,
  • and language should only switch when the user explicitly asks for another language.

Structured retry ceiling raised for complete replies

ToolGPT can now spend more structured attempts on hard public replies before it gives up, but it should still stop early as soon as one complete reply fits the current reply-length cap.

Public effect:

  • operators can now configure Structured reply max attempts anywhere in the range 1-15,
  • the ladder can use repeated GPT-5.4 retries before one final gpt-4o fallback,
  • and a reply that still falls apart on length/completeness no longer counts as a good enough early stop.

2026-05-31 – Scheduled reply timing clarified and clipped-ending protection tightened

Short scheduled delay explained more clearly

ToolGPT now documents more explicitly that it behaves as a scheduled poll-and-process responder rather than a permanent live stream listener.

Public effect:

  • replies can normally take about 1-2 minutes,
  • a mention may be ingested on one short poll cycle and then answered shortly afterward,
  • and that delay is expected behavior for the current scheduled/queued model rather than a sign that the bot is frozen.

Stronger protection against visibly clipped replies

ToolGPT now applies a stricter final pre-post check for replies that still look cut off mid-word or mid-sentence.

Public effect:

  • obviously clipped endings are more likely to be withheld instead of posted,
  • and the public archive should see fewer replies that stop abruptly in the last phrase.

2026-05-10 – Safer thread handling, clearer follow-up behavior, and a public history page

Repetitive bot-loop safeguard

ToolGPT now stops certain non-productive AI-to-AI loops instead of continuing to answer for hours.

Public behavior:

  • if a known AI participant such as Grok keeps repeating the same or nearly the same reply pattern
  • and the conversation is no longer moving forward in a useful way
  • ToolGPT can now mark that thread as finished and stop the follow-up loop

This is meant to avoid long dead-end exchanges where the other bot is effectively stuck.

Better follow-up handling in already engaged threads

ToolGPT now follows already engaged threads more cleanly:

  • later follow-up replies in the same conversation no longer always need a fresh @ToolGPT
  • explicit mentions are no longer misread as keyword-only traffic just because a watch keyword also matched

Smarter rule selection and cleaner reprocessing of stuck interactions

ToolGPT now evaluates active keyword rules more selectively and chooses the best-matching rule instead of always getting stuck on the first weak hit.

That also means a previously stuck or misrouted interaction can now be reprocessed more cleanly after an operator adjusts rules, instruction, or mood.

Stronger fact-check wording detection and optional RSS evidence

ToolGPT now recognizes more Swedish/English wording around verification, sources, proof, and RSS/feed lookups.

That means explicit requests about checking facts or finding support can enter a stronger fact-check path more reliably, and matching snippets from the Tools RSS archive can now be included as supporting context when relevant.

Reasoning effort and web search are now treated as separate controls in those verification-heavy flows, so ToolGPT can request actual OpenAI web-search tooling when the environment supports it instead of only increasing reasoning strength.

Consistent X hard-limit enforcement even when the local cap is disabled

If the extra local Tools reply cap is set to 0, ToolGPT no longer treats that as permission to keep overlong replies unchanged.

The normal X hard reply limit is still enforced before posting.

Required closing hashtags

ToolGPT now supports operator-managed closing hashtags that are always kept at the very end of the final reply, in the configured order.

Persistent provider warning when the upstream account is blocked

The admin control room now keeps a visible warning when the upstream provider blocks the bot because of a spend-cap/billing limit. That warning stays visible until a later successful run clears it.

Public changelog page

This page now exists so public questions can be answered with one stable reference instead of scattered release notes.


2026-05-08 – More transparent decisions and better thread memory

Structured reply decisions

ToolGPT no longer looks like a simple one-text-answer system behind the scenes. Publicly visible behavior improved because the bot now:

  • distinguishes better between replyable and non-replyable candidate answers
  • keeps clearer track of refusal-style outputs
  • can show when a reply was already posted instead of making it look like a new block state

Deeper same-thread context

ToolGPT now reads earlier parts of the same X conversation more reliably:

  • it can page further back through the same thread
  • it keeps more local thread history for continuity
  • it ignores replies that were posted later than the current message being judged

Plain-text normalization for X replies

Stored and posted replies now behave more naturally on X:

  • Markdown-like formatting is flattened into ordinary text
  • raw URLs remain visible instead of hiding inside Markdown syntax

Public ToolGPT identity explained more clearly

The public docs now explain more directly that ToolGPT is the visible X identity for the Tools-backed X mention bot.


2026-05-07 – Better operator visibility for rewritten replies

Reply-shortening history surfaced more clearly

When ToolGPT has to shorten a reply to fit X, the operator views now show that history more clearly.

User-visible effect:

  • overlong drafts are now easier to diagnose and improve
  • reply preparation is less opaque than before

2026-04-28 – Major quality pass for replies, context, and control

This date introduced a large set of public-facing improvements to how ToolGPT behaves.

Direct-answer priority

ToolGPT was tightened so it answers more directly:

  • replies should go straight to the answer or verdict
  • detached recap openings such as “the post says…” are discouraged
  • bullet-point mini-summaries are avoided in ordinary X replies

Better handling of short follow-ups

ToolGPT now treats short follow-ups more intelligently:

  • bare bot-tag mentions can be understood as “look at the earlier thread”
  • explicit short-answer requests are handled with stronger brevity rules
  • earlier visible thread context is treated as relevant by default when it exists

Stronger length handling

ToolGPT now works harder before giving up on an overlong reply:

  • it can try a shorter rewrite first
  • it enforces local reply limits more consistently
  • operators can see better why a reply did or did not fit

Media and linked-page context

ToolGPT became better at handling posts that include more than plain text:

  • attached media metadata is preserved more reliably
  • image URLs can be forwarded when that mode is enabled
  • linked pages can be fetched and summarized for added context
  • public-figure discussions in image threads are handled less over-cautiously

Local conversation memory

ToolGPT now keeps more conversation continuity:

  • it preserves a local per-conversation history archive
  • it can reuse earlier context even if parts of the remote thread disappear later
  • the visible thread anchor and newer turns are both preserved more carefully

Keyword rules, watch keywords, and AJAX control-room improvements

The operator side became much easier to manage:

  • config fields save inline more reliably
  • keyword-rule editing behaves more like a live control room
  • watch-keyword flows became easier to inspect and control

Webhook and rate-limit visibility

ToolGPT also became easier to understand operationally from the public/admin side:

  • webhook state is clearer
  • rate-limit windows are stored and shown more explicitly
  • posting restrictions are explained more clearly when X refuses a reply

Public version label support

ToolGPT can now answer “who/version are you?” style questions with a public-facing version label, while ordinary replies stay focused on the conversation itself.


2026-04-25 – First public ToolGPT / X-bot foundation

This was the first visible ToolGPT/X-bot release in Tools.

What arrived in the first version

  • one primary X bot account in Tools
  • dry-run-first candidate replies
  • polling for explicit mentions
  • diagnostics for read/write capability
  • manual review flow
  • opt-out handling
  • operator-facing admin page
  • first public/admin API surface for status, config, interactions, moderation actions, and opt-outs

Early routing and tone control

The first release already included:

  • fallback instruction and mood
  • keyword-based routing rules
  • watch-keyword support outside direct mentions when enabled
  • delayed auto-approval support for controlled posting windows

First public ToolGPT identity

The first release also made ToolGPT discoverable as a public-facing bot concept instead of only an internal experiment.


Common public questions

Why did ToolGPT stop replying in a thread?

Possible public reasons include:

  • the thread was no longer moving forward in a useful way
  • the other side kept repeating the same or nearly the same bot-style reply
  • the reply was judged non-publishable or not helpful enough
  • the thread needed manual review instead of more automatic replies

Why do replies look different now compared with older screenshots?

Because ToolGPT has been improved over time in areas such as:

  • directness
  • context handling
  • thread continuity
  • reply-length control
  • refusal detection
  • handling of repetitive dead-end bot exchanges

Where should people be sent for official public information?

Use these public references:

What kind of information should not be disclosed publicly?

Do not disclose:

  • internal infrastructure details
  • credentials or tokens
  • exact private runtime configuration