# Errors using AI "Timeout::Error"

**URL:** <https://meta.discourse.org/t/errors-using-ai-timeout-error/414284>\
**Category:** Support\
**Created:** [October 8, 2026, 7:09pm UTC](https://meta.discourse.org/t/errors-using-ai-timeout-error/414284 "2026-10-08T19:09:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)\
**Post date:** [October 8, 2026, 7:09pm UTC](https://meta.discourse.org/t/errors-using-ai-timeout-error/414284/1 "2026-10-08T19:09:47Z")

</div>

Today and for several hours now, my AI bot has stopped working, and almost immediately replies with the following error. But also not consistently.. sometimes when I just ask if it is available it answers but then when I ask my actual question it gives this same error message. A few times it even was able to create the topic title. So something is working but only intermittently.

> Sorry, it looks like our system encountered an unexpected issue while trying to reply.
> 
> > **Error details**
> >
> > Timeout::Error

This bot is wired up with claude-sonnet-4-6 and has been working fine for a long time now. Also when I check [https://status.claude.com/](https://status.claude.com/) I see there were issues yesterday but not today.

Instinctively my feeling is that it has to do with claude availability but I am not able to pin it down. Here’s the backtrace of a typical error, in case it helps with finding the answer.

> **Summary**
>
> ```plaintext
> Message (12 copies reported)
> 
> Job exception: Timeout::Error
> 
> Backtrace
> 
> /var/www/discourse/lib/final_destination/resolver.rb:31:in 'block in FinalDestination::Resolver.lookup'
> /var/www/discourse/lib/final_destination/resolver.rb:8:in 'Thread::Mutex#synchronize'
> /var/www/discourse/lib/final_destination/resolver.rb:8:in 'FinalDestination::Resolver.lookup'
> /var/www/discourse/lib/final_destination/ssrf_detector.rb:128:in 'FinalDestination::SSRFDetector.lookup_ips'
> /var/www/discourse/lib/final_destination/ssrf_detector.rb:96:in 'FinalDestination::SSRFDetector.lookup_and_filter_ips'
> /var/www/discourse/lib/final_destination/http.rb:12:in 'FinalDestination::HTTP#connect'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/net-http-0.9.1/lib/net/http.rb:1655:in 'Net::HTTP#do_start'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/net-http-0.9.1/lib/net/http.rb:1629:in 'Net::HTTP#start'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/net-http-0.9.1/lib/net/http.rb:1064:in 'Net::HTTP.start'
> /var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:468:in 'block in DiscourseAi::Completions::Endpoints::Base#perform_completion_request_with_retries'
> <internal:kernel>:168:in 'Kernel#loop'
> /var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:444:in 'DiscourseAi::Completions::Endpoints::Base#perform_completion_request_with_retries'
> /var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:196:in 'DiscourseAi::Completions::Endpoints::Base#perform_completion!'
> /var/www/discourse/plugins/discourse-ai/lib/completions/llm.rb:258:in 'DiscourseAi::Completions::Llm#generate'
> /var/www/discourse/plugins/discourse-ai/lib/agents/bot.rb:292:in 'DiscourseAi::Agents::Bot#reply'
> /var/www/discourse/plugins/discourse-ai/lib/ai_bot/playground.rb:667:in 'DiscourseAi::AiBot::Playground#reply_to'
> /var/www/discourse/plugins/discourse-ai/app/jobs/regular/create_ai_reply.rb:41:in 'Jobs::CreateAiReply#execute'
> /var/www/discourse/app/jobs/base.rb:313:in 'block (2 levels) in Jobs::Base#perform'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/rails_multisite-9.0.0/lib/rails_multisite/connection_management/null_instance.rb:54:in 'RailsMultisite::ConnectionManagement::NullInstance#with_connection'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/rails_multisite-9.0.0/lib/rails_multisite/connection_management.rb:23:in 'RailsMultisite::ConnectionManagement.with_connection'
> /var/www/discourse/app/jobs/base.rb:300:in 'block in Jobs::Base#perform'
> /var/www/discourse/app/jobs/base.rb:297:in 'Array#each'
> /var/www/discourse/app/jobs/base.rb:297:in 'Jobs::Base#perform'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:220:in 'Sidekiq::Processor#execute_job'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:185:in 'block (4 levels) in Sidekiq::Processor#process'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:180:in 'Sidekiq::Middleware::Chain#traverse'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
> /var/www/discourse/lib/sidekiq/suppress_user_email_errors.rb:6:in 'Sidekiq::SuppressUserEmailErrors#call'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
> /var/www/discourse/lib/sidekiq/discourse_event.rb:6:in 'Sidekiq::DiscourseEvent#call'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
> /var/www/discourse/lib/sidekiq/pausable.rb:136:in 'Sidekiq::Pausable#call'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/job/interrupt_handler.rb:9:in 'Sidekiq::Job::InterruptHandler#call'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:183:in 'block in Sidekiq::Middleware::Chain#traverse'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/metrics/tracking.rb:26:in 'Sidekiq::Metrics::ExecutionTracker#track'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/metrics/tracking.rb:134:in 'Sidekiq::Metrics::Middleware#call'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:182:in 'Sidekiq::Middleware::Chain#traverse'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/middleware/chain.rb:173:in 'Sidekiq::Middleware::Chain#invoke'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:184:in 'block (3 levels) in Sidekiq::Processor#process'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:145:in 'block (6 levels) in Sidekiq::Processor#dispatch'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/job_retry.rb:118:in 'Sidekiq::JobRetry#local'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:144:in 'block (5 levels) in Sidekiq::Processor#dispatch'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/config.rb:39:in 'block in <class:Config>'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:139:in 'block (4 levels) in Sidekiq::Processor#dispatch'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:281:in 'Sidekiq::Processor#stats'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:134:in 'block (3 levels) in Sidekiq::Processor#dispatch'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/job_logger.rb:15:in 'Sidekiq::JobLogger#call'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:133:in 'block (2 levels) in Sidekiq::Processor#dispatch'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/job_retry.rb:85:in 'Sidekiq::JobRetry#global'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:132:in 'block in Sidekiq::Processor#dispatch'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/job_logger.rb:40:in 'Sidekiq::JobLogger#prepare'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:131:in 'Sidekiq::Processor#dispatch'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:183:in 'block (2 levels) in Sidekiq::Processor#process'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:182:in 'Thread.handle_interrupt'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:182:in 'block in Sidekiq::Processor#process'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:181:in 'Thread.handle_interrupt'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:181:in 'Sidekiq::Processor#process'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:86:in 'Sidekiq::Processor#process_one'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/processor.rb:76:in 'Sidekiq::Processor#run'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/component.rb:10:in 'Sidekiq::Component#watchdog'
> /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/sidekiq-7.3.10/lib/sidekiq/component.rb:19:in 'block in Sidekiq::Component#safe_thread'
> 
> ```

I guess it’s time for me to go outside and touch some grass! 🌱
