I’m using the Deep Research API (deep-research-pro-preview-12-2025) via the @google/genai JS SDK (Interactions API) in a Next.js application.
The problem:
When I submit a detailed research prompt (approximately 2,000–3,000 characters), the interaction stays in in_progress status and never transitions to completed. My application polls interactions.get() every 10–30 seconds, but the status never changes, eventually hitting our 60-minute timeout.
What I’ve verified:
- A simple prompt like “What is 1+1?” works perfectly — the interaction transitions to completed within a few minutes.
- I tested this with raw curl commands (bypassing our application entirely), confirming the API itself responds correctly for simple inputs.
- The simple prompt returns “status”: “in_progress” initially, then transitions to “status”: “completed” after a few minutes. This confirms our polling logic and status detection are correct.
What fails:
When using our production prompt (a structured research task asking for YouTube market research with specific output format requirements — tables, IDs, real video URLs, etc.), the interaction appears to stay in_progress indefinitely. We have never seen it reach completed or failed.
Our setup:
- SDK: @google/genai (JS/TypeScript)
- Agent: deep-research-pro-preview-12-2025
- Parameters: background: true, store: true
- HTTP timeout: 20 minutes (for individual requests)
- Polling interval: 10–30 seconds (adaptive)
Questions:
- Is there a known issue with Deep Research jobs silently failing or hanging on complex prompts?
- Is there a maximum prompt length or complexity limit for the Deep Research agent?
- Is there any way to get more detailed status information (e.g., progress percentage, intermediate state) from the Interactions API?
- Are there known issues with the in_progress status not transitioning for certain types of requests?
Any guidance would be appreciated. Thank you.
1 Like
+1 having same issue, complex prompts stay “in_progress” indefintely.
Hi there thanks for sharing feedback.
- There’s no known issue with silently hanging on complex prompts. I was unable to reproduce your issue. Could you share an example prompt you used that caused this? I used this prompt for testing and got a response ~4 minutes [1]
- Max research time is capped at 60 minutes, though most complex tasks should take 20 minutes. Have you tried setting out a longer timeout for these complex tasks?
- To receive intermediate reasoning steps (thoughts) and progress updates, you must enable thinking summaries in the
agent_config. If this is not set to "auto", the stream may only provide the final results without the real-time thought process.
- There is no known issue. If it still “stuck”, it may be due to the agent still running. If it timeouts due to 60 min max limit, it should fail. Let me know if that’s NOT the case.
[1]
{
"agent": "deep-research-pro-preview-12-2025",
"input": "Please conduct a comprehensive market research for a new YouTube channel focused on 'AI Productivity Tools for Remote Professionals'.\n\nThe target audience is software engineers, product managers, and data scientists who work remotely and want to leverage AI to automate their workflows and increase efficiency.\n\nI need the following structured output:\n\n## 1. Top 5 Competitor Channels\nFor each competitor, provide:\n- Channel Name\n- URL\n- Estimated Subscriber Count\n- Primary Content Focus\n- Why they are successful\n\n## 2. 10 Content Pillars / Video Ideas\nFor each idea, provide:\n- Working Title\n- Target Keywords (Search Volume: High, Competition: Low/Medium)\n- Hook/Angle\n- Outline of the video\n- Suggested Thumbnail Concept\n- Call To Action\n\n## 3. SEO and Keyword Strategy\nList the top 20 keywords with search intent for this niche.\nGroup them by:\n- Informational\n- Transactional\n- Navigational\n\n## 4. Engagement and Growth Strategy\n- 3 tactics for Community tab\n- 3 tactics for Shorts vs Long-form\n- 3 tactics for driving viewers to a newsletter\n\n## 5. Potential Monetization Paths\n- Sponsor types (SaaS, Hardware)\n- Digital products (Notion templates, courses)\n- Affiliate marketing opportunities\n\nPlease present this in a clean, professional format with clear headings and tables where appropriate. I need real Data, not just placeholders. If you cannot find real data, explain why.\n\n---\n\nAdditional Context:\n- We want to launch in 2 weeks.\n- We have access to basic gear (mirrorless camera, shotgun mic).\n- We can edit 1 video per week.\n\nPlease make sure the response is thorough and detailed. Each section should have at least 3-4 paragraphs of analysis.\nIf you use tables, please use standard Markdown table format.\nIf you find specific tools that are trending (e.g., Cursor, Windsurf, Perplexity), highlight them and explain how we can capitalize on them.\nCompare the performance of 'tool reviews' vs 'workflow walkthroughs'.\n\nThank you!",
"store": true,
"background": true
}
Hi !
+1 same issue here.
Summary
interactions.get() returns in_progress indefinitely for interactions created via the programmatic API. The same research topics complete in ~12 minutes on gemini.google.com.
Environment
- SDK: @google/genai (latest, npm)
- Agent: deep-research-pro-preview-12-2025
- Runtime: Node.js 22, Cloud Functions v2
- Region: us-central1
- Date: March 30-31, 2026
Reproduction
Minimal code (matches official docs exactly):
const interaction = await client.interactions.create({
input: ‘What are the top 3 cloud computing trends for 2026?’,
agent: ‘deep-research-pro-preview-12-2025’,
background: true,
});
// Poll every 10s — never transitions from in_progress
while (true) {
const result = await client.interactions.get(interaction.id);
// result.status === ‘in_progress’ forever
// result.outputs === (empty)
}
Test Results (3 independent runs)
Test 1 — SDK minimal (GitHub pattern):
Create: OK, id=v1_Chd6R0hMYV…
[11s] status=in_progress, outputs=0
[600s] status=in_progress, outputs=0
[1200s] status=in_progress, outputs=0 → TIMEOUT
Test 2 — SDK with stream+store+agent_config:
Create: OK, stream returns 9 events (3 unique thought_summaries, repeated 3x)
[10s] status=in_progress, outputs=0
[1200s] status=in_progress, outputs=0 → TIMEOUT
Test 3 — Direct REST API (no SDK):
POST /v1beta/interactions → 200 OK, id=v1_Chd0MnJM…
GET /v1beta/interactions/{id}?key=… → 200 every 10s
[10s] status=in_progress, outputs=0
[1200s] status=in_progress, outputs=0 → TIMEOUT
Key Observations
- interactions.create() succeeds — returns valid interaction ID
- Streaming works briefly — 3 thought_summary events in first 60 seconds, then stream ends
- interactions.get() never transitions — stays in_progress for 20+ minutes
- outputs always empty — never populated
- Intermittent 500 errors — SDK get() returns 500 Internal server error during some periods (API outage)
- REST direct calls — same behavior as SDK, no 500s but still never completes
Interaction IDs (for investigation)
v1_ChdKbWJMYWZLbEg2YVBqTWNQaFptQ3NRWRIXSm1iTGFmS2xINmFQak1jUGhabUNzUVk
v1_Chd0MnJMYWFENUk2NmkxTWtQa3FfMTBBbxIXdDJyTGFhRDVJNjZpMU1rUGtxXzEwQW8
Best
Greg
I am having the exact same issue today. It was a problem a couple of weeks ago and it seemed to be resolved but it is not working again
Still nothing working it has been down all day