Блог

Claude Code: фондық пәрмендерге 30 минуттық шектеу

Markdown

Claude Code қараусыз орындалатын іске қосуларда: -p, Agent SDK, CI, бұлтта фондық пәрменді 30 минуттан кейін тоқтатады. Шектеуді қалай көтеруге және пәрмен тоқтағаннан кейін не істеуге болады.

Мақаланы толық оқу

Claude Code қараусыз орындалатын жағдайда: -p жалаушасымен іске қосқанда, Agent SDK қолданбасында, CI тапсырмасында немесе бұлттық сессияда фондық пәрменді 30 минуттан кейін тоқтатады. Егер Claude пәрменнің өзіне уақыт белгілесе, ол ең көбі 2 сағат жұмыс істейді, ал кәдімгі терминалда, жұмыс үстелі қолданбасында және VS Code-та 2.1.288 нұсқасынан бері уақыт шектеуі жоқ.

Бұрын күні бойы экранның алдында отыратынмын: агентке бір қадамды тапсырамын, нәтижесін қараймын, түзету енгіземін, жалғастыруын сұраймын. Кезеңнен кезеңге өтеміз. Кодты машина жазғанымен, оны жүргізіп отырған мен едім. Енді жоспар жазып, оны кезеңдерге бөліп, іске асыруды қосалқы агенттерге түнге тапсырып, кетемін. Менсіз өтетін 8 сағат ішінде Claude жоспар бойынша жұмыс істейді: зерттейді, құрастырады және жетілдіреді. Таңертең жұмысты қайта жасағаннан гөрі қабылдауға көбірек уақытым кетеді.

Бірақ түнгі іске қосу -p қолданса, серверде кесте бойынша, CI ішінде немесе бұлтта жүрсе, фонда жұмыс істейтін әзірлеу сервері мен құрастыру процесі 30 минут қана істейді. Содан кейін Claude Code оларды тоқтатып, түнгі жұмыс орта жолда үзіледі. Шектеудің кімге әсер ететінін, оны қалай көтеруге болатынын және пәрмен әлдеқашан тоқтап қалса не істеу керегін түсіндіремін. Бастайық.

Қызметті пайдалануға көмек керек болса, Ailoot құжаттамасын қараңыз.

Негізгі түйін

2.1.285 нұсқасынан бастап Claude Code уақыт шегіне жеткенде фондық пәрмендерді өзі тоқтатып, себебін Claude-қа хабарлайды. 2.1.288 нұсқасынан бастап шектеу тек қараусыз орындалатын іске қосуларға қолданылады: -p, Agent SDK, CI және бұлттық сессиялар. Тікелей фонда іске қосылған пәрмен 30 минут немесе оған белгіленген уақыт бойы, бірақ ең көбі 2 сағат жұмыс істейді. Тайм-ауттан кейін фонға ауыстырылған пәрмен сол сәттен бастап 30 минут жұмыс істейді. Шектеуді ~/.claude/settings.json баптаулар файлындағы 2 айнымалы арқылы көтеруге болады.

Шектеу кімге әсер етеді

Фондық пәрмен дегеніміз — Claude іске қосып, басқа іспен айналысып жатқанда жұмысын жалғастыруға қалдыратын пәрмен. Мысалы, npm run dev арқылы іске қосылған әзірлеу сервері немесе файлдардағы өзгерістерді бақылайтын құрастыру процесі.

Claude Code құжаттамасында былай делінген:

`-p` жалаушасымен іске қосу, Agent SDK қолданбасы, CI тапсырмасы немесе бұлттық сессия сияқты қараусыз орындалатын сессияларда фондық Bash және PowerShell пәрмендеріне уақыт шегі қойылады. Терминалдан, жұмыс үстелі қолданбасынан немесе VS Code кеңейтімінен өзіңіз жұмыс істеп отырған жергілікті сессияда фондық пәрмендерге уақыт шегі қойылмайды.

Уақыт шегі үшін Claude Code v2.1.285 немесе одан кейінгі нұсқасы қажет. v2.1.288 нұсқасына дейін ол барлық сессияға қолданылды.

— Anthropic, Құралдар анықтамалығы, https://code.claude.com/docs/en/tools-reference.md

Басқаша айтқанда, шектеу сіз жоқ кезде іске қосылғандарға қолданылады: -p арқылы іске қосу, Agent SDK қолданбасы, CI тапсырмасы немесе бұлттық сессия. Сессияда өзіңіз жұмыс істеп отырсаңыз, терминалда, жұмыс үстелі қолданбасында немесе VS Code-та шектеу жоқ. Шектеу 2.1.285 нұсқасында енгізіліп, 2.1.288 нұсқасына дейін барлық жерде қолданылды.

Бұл сізге қатысты ма, қалай анықтауға болады:

  • Claude Code-ты терминалда немесе VS Code-та ашып, тапсырма беріп, ұйықтауға жаттыңыз. Нұсқаңыз 2.1.288 немесе одан кейінгісі болса, шектеу жоқ. 2.1.285–2.1.287 нұсқаларында ол бұл жағдайда да қолданылады. Ең соңғы нұсқаға жаңарту жолын бөлек мақалада түсіндірдім.
  • Claude Code кесте бойынша, өзіңіздің Agent SDK қолданбаңыздан немесе CI ішінде claude -p "task" пәрменімен іске қосылады. Шектеу қолданылады.
  • Тапсырма бұлттық сессияда орындалады. Шектеу қолданылады.

Агенттерді өз бетінше жұмыс істеуге қалдырғанда, сұрау мәтініне мынаны қосамын: «Осы шарттар мен тоқтату себептерін жұмыс жоспарына жаз. Процесс мен жабатын терезеге немесе компьютердің өзіне тәуелді емес екенін тексер.» 30 минуттық шектеу — сондай себептердің бірі.

Фондық пәрмен қанша уақыт жұмыс істейді

Кері санақ пәрмен фонға ауысқан кезде басталады. Екі жағдай бар.

Claude пәрменді бірден фонда іске қосады. Оған 30 минут беріледі. Егер Claude іске қосқанда уақыт белгілесе (timeout параметрі), пәрмен сол уақыт бойы жұмыс істейді, бірақ ең көбі 2 сағат.

Claude күтіп тұрған кезде пәрмен аяқталмайды. Claude кәдімгі пәрменнің аяқталуын 2 минут күтеді. Егер ол аяқталмаса, Claude Code оны тоқтатпайды, фонға ауыстырады. Сол сәттен бастап оған 30 минут беріледі.

Уақыт біткенде Claude Code пәрменді тоқтатып, Claude-қа мына хабарды жібереді:

Background command "<description>" was stopped after reaching its background time limit

Жұмыс аяқталмаса, Claude пәрменді ұзағырақ уақытпен қайта іске қоса алады.

-p туралы тағы бір жайт. Осындай іске қосуда фондық пәрмендер Claude-тың соңғы жауабынан шамамен 5 секундтан кейін тоқтайды. -p арқылы түнде іске қосылған сервер іске қосылудың өзі қанша уақыт жүрсе, сонша ғана жұмыс істейді. 30 минуттық шектеу іске қосу ұзаққа созылғанда маңызды: Claude серверді басында іске қосып, бір сағат бойы онда тексерулер жүргізеді.

Claude Code-та түнгі жұмысты қалай ұйымдастыруға болады

Агентті күні бойы жүргізуден шаршадым, сондықтан оның орнына бір үйлестіруші сұрау мәтінін қолдана бастадым. Оны кешке іске қосамын, ал Claude түн бойы кезеңдер бойынша жазу, тексеру, түзету және өздігінен коммит жасау жұмыстарын орындайды.

Қосалқы агенттер топтары код жазады. Әрқайсысының өз файлдары бар, сондықтан олар бір-біріне кедергі келтірмейді. Жұмысты қабылдау үшін тағы бір жаңа топ құрылады: кодқа шолу, қауіпсіздік тексерулері және нақты ортадағы тексерулер. Егер мәселе тапса, ол бірден түзетіліп, тексерулер қайта жүргізіледі. Сұрау мәтінінде мына жол бар: «Контекст таусылса, күйді жазып қой; келесі іске қосу жалғастырады.»

Сипатталған мысалда 3 күн ішінде 14 кезеңнің 8-і осылай аяқталды.

Есте ұстайтын екі ғана жайт бар. Үйлестіруші сіздің орныңызға ойланбайды: алдымен кезеңдері бар егжей-тегжейлі жоспар жазыңыз, содан кейін түнгі жұмысты бастаңыз. Оған қоса, ол жазылым лимитін көп жұмсайды, сондықтан шағын тапсырма үшін мұны ұйымдастырудың мәні аз. Әрқашан әрекет санына шек қойыңыз, әйтпесе агент жазылым лимитіңізді түні бойы тауысады. Бұл шығын шектеулерін қалай қою керегін бөлек мақалада түсіндірдім.

Шектеуді қалай көтеруге болады

1-нұсқа: Claude-тан сұрау. Claude нақты пәрменге уақытты өзі белгілейді; оны өзіңіз орнатпайсыз. Бірақ тапсырмада: «Әзірлеу серверін фонда 2 сағат жұмыс істет» деп жазуға болады. Осылайша 2 сағаттан артық уақыт ала алмайсыз.

2-нұсқа: баптаулар файлындағы айнымалылар. Мәндер миллисекундпен беріледі. Шектеулерді 30 минут пен 2 сағаттан төмендету мүмкін емес, тек көтеруге болады.

  • BASH_DEFAULT_TIMEOUT_MS мәнін 1800000-нан (30 минут) жоғары қою 30 минуттық әдепкі шектеуді өзгертеді. Ол Claude уақыт белгілемей фонда іске қосатын пәрмендерге де, тайм-ауттан кейін фонға ауыстырылған пәрмендерге де қолданылады. Оны 7200000-нан (2 сағат) жоғары қойсаңыз, жоғарғы шек те өседі.
  • BASH_MAX_TIMEOUT_MS мәнін 7200000-нан (2 сағат) жоғары қою 2 сағаттық жоғарғы шекті көтереді. Бұл 30 минуттық әдепкі уақытты өзгертпейді: өз уақыты көрсетілмеген пәрмен 30 минуттан кейін тоқтай береді.

BASH_DEFAULT_TIMEOUT_MS айнымалысының қосымша әсері бар. Сол айнымалы Claude-тың кәдімгі пәрменді фонға ауыстырмас бұрын қанша уақыт күтетінін де белгілейді. Оны 1 сағатқа қойсаңыз, Claude 2 минут емес, 1 сағат күтеді. Бұл түнгі жұмысқа кедергі келтірмейді. Күндіз пәрмендер ұзақ орындалса, жауап күтуіңіз де ұзарады.

Егжей-тегжейге үңілгіңіз келмесе: кәдімгі пәрмендер мен жоғарғы шек үшін 3 сағат керек болса, BASH_DEFAULT_TIMEOUT_MS мәнін 10800000 етіп қойыңыз. Осы жеткілікті; екінші айнымалы қажет емес.

Баптаулар файлы үй каталогындағы .claude қалтасында болады: macOS пен Linux жүйелерінде ~/.claude/settings.json, ал Windows жүйесінде %USERPROFILE%\.claude\settings.json. Файл жоқ болса, оны жасаңыз. 1 сағаттық шектеу мынадай болады:

{
  "env": {
    "BASH_DEFAULT_TIMEOUT_MS": "3600000"
  }
}

Егер файлда env блогы бар болса, жолды соған қосыңыз. Іске қосулы сессия жаңа мәндерді файлды сақтаған кезде қабылдайды. Айнымалыны жойсаңыз, өзгеріс тек claude бағдарламасын келесі рет іске қосқанда күшіне енеді.

Файл агент жұмыс істеп тұрған құрылғыда болуы керек. Агент түнде жұмыс істеуі үшін компьютер ұйқы режиміне өтпеуі керек. Балама ретінде Claude Code-ты қашықтағы серверде іске қосып, баптауларды сонда сақтауға болады.

Пәрмен әлдеқашан тоқтап қалса

Қолмен ештеңе істеудің қажеті жоқ. Claude Code Claude-қа пәрменнің не себепті тоқтағанын хабарлайды, сондықтан алдымен одан не болғанын сұраңыз.

Содан кейін мына қадамдарды ретімен орындаңыз:

  1. 2 сағатқа дейінгі бір реттік ұзақ іске қосу. Claude-тан пәрменді ұзағырақ уақытпен қайта іске қосуды сұраңыз.
  2. Пәрмендерге үнемі 30 минуттан артық уақыт қажет. Жоғарыдағы мысалдағыдай, баптаулар файлында BASH_DEFAULT_TIMEOUT_MS мәнін 1800000-нан жоғары қойыңыз. 2 сағаттан артық уақыт керек болса, онда BASH_MAX_TIMEOUT_MS мәнін де 7200000-нан жоғары қойыңыз.
  3. Пәрменді қайта іске қосыңыз. Құжаттамада өзгеріс енгізілгенге дейін фонда жұмыс істеп тұрған пәрменге қатысты кепілдік берілмеген.
  4. Келесі іске қосу нәтижесін тексеріңіз. Claude-тың есебінде «фондық уақыт шегіне жеткеннен кейін тоқтатылды» деген тіркес қайта кездессе, баптау сол пәрменге қолданылмаған.

Қосалқы агенттер мен жұмыс тәртіптері сіз жоқ кезде агенттің жұмысын жалғастыруына көмектеседі.

Агентті түні бойы циклмен іске қосу жолын бөлек мақалада түсіндірдім. Ал Claude Code жобаны түнде бұзбайтындай етіп баптау жолы осында түсіндірілген.

Түнгі іске қосуыңыздың қай қадамда тоқтайтынын тексеріп, себебін жоғарыдағы шектеулермен салыстырыңыз.

Дереккөздер

  • Claude Code: Құралдар анықтамалығы — шектеудің қайда қолданылатыны, 2.1.285 және 2.1.288 нұсқалары, 30 минут және 2 сағат, тайм-ауттан кейін пәрмендерді фонға ауыстыру, хабар мәтіні және BASH_DEFAULT_TIMEOUT_MS пен BASH_MAX_TIMEOUT_MS айнымалылары туралы.
  • Claude Code: Орта айнымалылары — кәдімгі пәрменге арналған 2 минуттық әдепкі уақыт, ~/.claude/settings.json ішіндегі env блогы және сессияның жаңа мәндерді қашан қабылдайтыны туралы.
  • Claude Code: Headless — -p арқылы іске қосулар; фондық пәрмендер соңғы жауаптан шамамен 5 секундтан кейін тоқтайды.
  • Claude Code: Баптаулар — Windows жүйесіндегі ~/.claude/settings.json орны.

Ailoot туралы біліңіз.

Толығырақ

Жиі қойылатын сұрақтар

Интерактивті сеансты түні бойы ашық қалдыру 30 минуттық шектеуді іске қоса ма?

Claude Code 2.1.288 не кейінгі нұсқада мақаладағы шектеу -p, Agent SDK, CI және бұлттық сеанстар сияқты қараусыз іске қосуларға қатысты. Кәдімгі жергілікті интерактивті сеансты ашық қалдырудың өзі оны осы санатқа қоспайды.

Үлкен timeout -p жұмысы біткеннен кейін серверді тірі ұстай ма?

Жоқ. -p іске қосуындағы фондық пәрмендер соңғы жауаптан кейін көп ұзамай тоқтайды. Timeout өзгерісі жұмыс барысындағы пәрмен ұзақтығына әсер етеді, бірақ іске қосуды тұрақты хостингке айналдырмайды.

Барлық мақалалар