Skip to main content

    Chat Issues

    Troubleshoot chat streaming, tool calls, citations, and rendering issues on the platform.

    A chat turn streams the model's answer to your browser while the orchestrator runs tool calls on the server. Most chat issues clear when you start a fresh conversation or switch models. If a tool call fails, the orchestrator reports the error to the model, which retries or tries another tool.

    Streaming failures

    Chat responses stream from the AI model in real time via Server-Sent Events (SSE). When streaming is interrupted, you may see partial responses or stalled output.

    Symptoms:

    • The response stops mid-sentence with no completion indicator.
    • The loading spinner keeps spinning but no text appears.
    • The response appears all at once after a long delay (buffering issue).

    Common causes and fixes:

    CauseSymptomFix
    Network interruptionResponse stops and "Reconnecting..." appearsWait for automatic reconnection. If it does not reconnect within 30 seconds, reload the page.
    Idle connection closed by a proxyResponse stops during a long silent stretch, often while the model is thinkingSome proxies close HTTPS responses that stay quiet too long. Turn thinking to "auto" or "off", or ask IT to allow long-lived responses (see Networking).
    Browser throttled background tabResponse appears incomplete when switching back to the tabKeep the chat tab in the foreground during streaming. Chrome throttles background tab network activity.
    Ad blocker blocking SSENo streaming at all, only errorsAllowlist *.ivybiosciences.com in your ad blocker. See Browser troubleshooting for details.

    Connection drops during long responses:

    • Responses from advanced models with tool calls can take several minutes. Keep the tab open until the answer finishes.
    • If the connection drops, reload the page. Whatever the chat saved is shown again, and jobs the turn submitted keep running on Modal.
    • ⚠︎ Follow-ups that fire when an async job finishes are delivered through the tab that started the job. If you close that tab, reopen the chat and ask for the result.
    • If the response didn't complete because the model hit an error, the error appears at the end of the partial response.

    Tool call errors

    When the AI invokes tools (database queries, job submissions, calculations), those tool calls can fail independently of the chat stream.

    Tool not found (error 1001)

    The AI requested a tool that isn't in the tool registry.

    • This usually means the model invented a tool name. The orchestrator reports the error back so the model can pick a real tool.
    • If you see this error repeatedly for the same request, rephrase your question. The model may be misreading what you want.

    Tool validation failed (error 1002)

    The parameters the AI passed to the tool did not match the expected schema.

    • The validation error goes back to the model, which usually retries with corrected parameters. You rarely need to act.
    • If the retry also fails, the AI will explain what went wrong and ask for clarification.
    • Common validation failures: SMILES string was malformed, UniProt ID had wrong format, PDB ID was incorrect.

    Tool execution failed (error 1003)

    The tool started executing but encountered a runtime error.

    • Check the error detail in the tool call card. It shows the specific error from the backend.
    • Common causes: the external database (UniProt, PubChem, NCBI) was temporarily unavailable, the input entity was not found, or the query returned too many results.
    • For database tools, try being more specific in your query. Instead of "search for kinase inhibitors," try "search PubChem for SMILES matching c1ccc2[nH]c3ccccc3c2c1."

    Tool timeout (error 1004)

    The tool exceeded its maximum execution time.

    • Database lookups time out in seconds. GPU jobs on Modal run asynchronously, so a long job doesn't hold the chat turn open.
    • If a tool times out, the AI reports the timeout and can suggest alternatives, such as a simpler query or splitting the request.

    Tool call cards:

    • Each active tool call displays as a card in the chat stream showing the tool name, parameters, and status (running, completed, failed).
    • Completed tool calls show a summary of the results. Click "View full results" to see the complete output.
    • Failed tool calls show the error code and message. The AI uses this error to adjust its approach.

    Citations not appearing

    The platform has two layers of citation extraction. If citations are missing, one or both layers may not be working.

    Client-side citations (instant):

    • These are extracted at render time from markdown links in the AI's response.
    • Links to recognized scientific databases (for example UniProt, PubChem, PubMed, ChEMBL and RCSB PDB) become citations.
    • If the AI didn't include a markdown link, this layer has nothing to extract.
    • This layer runs in your browser at render time, so it doesn't wait on any external service.

    Backend citations (post-stream):

    • After the AI finishes responding, the backend runs injectCitations() to resolve entity names (e.g., "BRCA1") to database URLs.
    • This step has a 3-second budget. If the NCBI or PubChem APIs are slow, some citations stay unresolved.
    • Backend citations are best-effort and non-blocking. They appear 1-3 seconds after the response completes.
    • If backend citations consistently do not appear, the external API may be experiencing issues. Check the NCBI and PubChem status pages.

    Deduplication:

    • Both layers are deduplicated by source:identifier. If the AI already linked to a PubMed article, the backend will not add a duplicate.

    Response style not applying

    The chat offers four response styles: concise, balanced (the default), detailed and technical. If your selected style doesn't seem to apply:

    • Style is per-session. Changing the style only affects new messages in the current session. Previous messages are not reformatted.
    • Model override. Some models (especially smaller/faster ones) may not follow style instructions as closely. Try a more capable model if style adherence is important.
    • Re-select the style. If the old style persists, pick a different style in the chat header, send a message, then switch back.

    Thinking mode stuck

    Thinking has three settings: "auto" (the model decides, with a 5,000-token budget), "on" (always, with an 8,000-token budget) and "off". While the model reasons, the chat shows a thinking indicator.

    Normal thinking duration:

    • Simple questions: 2-5 seconds of thinking.
    • Complex analysis: 10-30 seconds of thinking.
    • Multi-step reasoning with tool calls: up to 60 seconds.

    If thinking mode seems stuck (over 2 minutes):

    1. Check your network connection. Thinking tokens are generated server-side but the connection must remain open.
    2. The model may have genuinely hit a difficult reasoning step. Wait up to 3 minutes.
    3. If nothing happens after 3 minutes, click "Stop" to cancel the response and try again.
    4. Set thinking to "off" if you don't need it for this particular question.

    Token budget:

    • Thinking reserves up to 5,000 tokens ("auto") or 8,000 tokens ("on") for reasoning. These tokens count toward the model's context window.
    • If you're near the context window limit, thinking may fail because there isn't room for both the reasoning and the answer. Start a fresh chat.

    Model compatibility:

    • Not every model supports extended thinking. With a model that doesn't, the thinking setting has no effect.

    SMILES chips not rendering

    When the AI mentions a molecule by SMILES notation, the platform renders an inline preview chip showing a 2D structure.

    If SMILES chips appear as plain text:

    • The SMILES string may be malformed. Invalid SMILES cannot be parsed by RDKit and fall back to plain text.
    • The RDKit WebAssembly module may not have loaded. Reload the page and wait for the initial bundle to finish loading.

    If the 2D structure looks wrong:

    • RDKit 2D depiction uses a default coordinate generator. Some molecules (especially macrocycles) may have unusual 2D layouts. This does not affect the underlying chemistry.
    • Stereochemistry is preserved in the SMILES but may not be visible in the 2D depiction at small sizes.

    File references broken

    The AI can reference files in your project using @filename notation. If file references show as "File not found":

    • File deleted. If you or a team member deleted the file, references to it break.
    • Wrong project context. Ensure you are in the correct project. File references are project-scoped.
    • Filename typo or spaces. A name with spaces must be quoted: @"my file.pdb".
    • Storage issue. If storage (Amazon S3) is having problems, file references may fail for a while. The file still exists; it just can't be retrieved right now. curl https://www.ivybiosciences.com/api/health shows the storage check.

    Context window exceeded

    Each AI model has a maximum context window. When the conversation exceeds this limit, you will see degraded behavior.

    Symptoms:

    • The AI starts "forgetting" information from early in the conversation.
    • The AI gives shorter or less detailed responses.
    • An explicit "Context window exceeded" error appears.

    Context window sizes:

    The context window depends on the model you pick. Check the model's provider page (Anthropic, or the model's listing on OpenRouter) for its current size.

    What consumes context:

    • Every message in the conversation (yours and the AI's).
    • Tool call inputs and outputs.
    • File contents that were uploaded or referenced.
    • The system prompt and tool definitions.
    • Thinking tokens (up to 5,000 or 8,000 per response, depending on the setting).

    Recommendation: When the conversation becomes very long (50+ messages with tool calls), start a fresh chat. The AI performs best with a focused conversation. You can reference results from previous chats by their Job IDs.

    Ticket checklist

    If you need to contact support about a chat issue:

    • The chat's URL (/chat/[username]/[chatSlug])
    • The exact message you sent that caused the issue
    • The model you were using
    • Your thinking setting (auto, on or off)
    • Screenshots showing the error or unexpected behavior
    • Browser and OS version

    Was this page helpful?

    Loading...