6 पॉइंट द्वारा GN⁺ 2026-01-23 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Claude Chill एक PTY proxy tool है जो Claude Code द्वारा पूरे टर्मिनल को बार-बार redraw करने पर होने वाली latency और flickering समस्याओं को कम करता है
  • यह Claude Code द्वारा उपयोग किए जाने वाले synchronized output (sync blocks) को intercept करता है और VT100-आधारित rendering के जरिए स्क्रीन के केवल बदले हुए हिस्सों को ही update करता है
  • यह history buffer बनाए रखता है, जिससे scrollback संभव होता है, और Ctrl+6 कुंजी से ‘lookback mode’ में जाकर पूरा output history देखा जा सकता है
  • एक निश्चित समय तक input न होने पर history को अपने-आप dump करने वाला auto-lookback फीचर भी देता है
  • Linux और macOS पर काम करता है, और terminal performance व readability को बेहतर बनाने वाला हल्का solution है

अवलोकन

  • Claude Chill एक PTY proxy program है, जिसे Claude Code के terminal output से जुड़ी समस्याओं को हल करने के लिए बनाया गया है
    • Claude Code पूरे output को sync blocks में wrap करके एक साथ render करता है, लेकिन इस प्रक्रिया में हजारों लाइनों का full-screen refresh हो सकता है
    • इसके कारण latency, flickering, और scrollback loss जैसी समस्याएँ पैदा होती हैं
  • Claude Chill टर्मिनल और Claude Code के बीच बैठकर सिर्फ output diff लागू करता है और history buffer बनाए रखता है

मुख्य फीचर

  • Sync block interception: Claude Code द्वारा भेजे गए बड़े synchronized blocks को detect और process करता है
  • VT-आधारित rendering: VT100 emulator का उपयोग करके screen state को track करता है और केवल बदले हुए हिस्से output करता है
  • History retention और lookback mode: output को buffer में save रखता है ताकि पुराने logs देखे जा सकें
    • Ctrl+6 कुंजी से lookback mode में प्रवेश
    • Claude का output अस्थायी रूप से रोककर पूरा history टर्मिनल में दिखाता है
    • कुंजी दोबारा दबाकर या Ctrl+C से बाहर निकला जा सकता है
  • Auto-lookback: एक निश्चित समय तक (डिफ़ॉल्ट 15 सेकंड) input न होने पर history अपने-आप dump हो जाता है
    • -a 0 option से इसे disable किया जा सकता है
    • auto dump के समय स्क्रीन थोड़ी देर के लिए flicker कर सकती है

इंस्टॉलेशन और उपयोग

  • इंस्टॉल:
    cargo install --path crates/claude-chill  
    
  • चलाने के उदाहरण:
    • सामान्य रन: claude-chill claude
    • arguments के साथ: claude-chill -- claude --verbose
    • history size सेट करना: claude-chill -H 50000 claude
    • auto-lookback disable करना: claude-chill -a 0 claude
  • मुख्य options:
    • -H, --history: history की अधिकतम lines (डिफ़ॉल्ट 100000)
    • -k, --lookback-key: lookback mode toggle key
    • -a, --auto-lookback-timeout: auto-lookback wait time (ms)

कॉन्फ़िगरेशन फ़ाइल

  • स्थान:
    • Linux: ~/.config/claude-chill.toml
    • macOS: ~/Library/Application Support/claude-chill.toml
  • मुख्य items:
    • history_lines: history की अधिकतम lines
    • lookback_key: lookback mode toggle key
    • refresh_rate: rendering FPS
    • auto_lookback_timeout_ms: auto-lookback समय

Keyboard protocol और key settings

  • Kitty Keyboard Protocol को support करने वाले टर्मिनल (Kitty, Ghostty, WezTerm आदि) में mode अपने-आप switch हो जाता है
    • जब Claude Code Kitty mode को activate करता है, Claude Chill भी उसी encoding को अपने-आप पहचान लेता है
  • key format: [modifier][key]
    • उदाहरण: [f12], [ctrl][g], [ctrl][shift][j]
  • डिफ़ॉल्ट key Ctrl+6 ASCII 0x1E भेजती है, और यह ज़्यादातर terminals से टकराती नहीं है
    • macOS में Ctrl+Shift+6 (Ctrl+^) वही काम करता है

काम करने का तरीका

  • Claude Chill एक virtual terminal (PTY) बनाता है और Claude Code को child process के रूप में चलाता है
  • I/O proxy architecture:
    Terminal ⇄ claude-chill ⇄ Claude Code  
    
  • मुख्य processing steps:
    • input: Claude तक forward किया जाता है, केवल lookback key को block किया जाता है
    • output: sync blocks को detect किया जाता है और asynchronous output को वैसे ही pass through किया जाता है
    • VT emulation के जरिए screen state track की जाती है
    • पिछली state से तुलना करके सिर्फ diff render किया जाता है
    • history buffer बनाए रखा जाता है और lookback mode support किया जाता है
    • SIGWINCH, SIGINT, SIGTERM जैसे signals Claude तक forward किए जाते हैं

ध्यान देने योग्य बातें

  • यह एक निजी सुविधा के लिए बनाया गया tool है, इसलिए इस पर व्यापक testing नहीं की गई है
  • Linux और macOS पर काम करना verified है
  • महत्वपूर्ण system या infrastructure environments में इसके उपयोग की सिफारिश नहीं की जाती
  • MIT License

1 टिप्पणियां

 
GN⁺ 2026-01-23
Hacker News की राय
  • मैं Claude Code की TUI rendering पर काम करता हूँ
    लंबे समय तक असुविधा के लिए माफ़ी, लेकिन आज हमने सभी users के लिए differential renderer deploy कर दिया है
    हमने rendering system को पूरी तरह से फिर से लिखा है, और अब सिर्फ़ लगभग 1/3 sessions में ही बीच-बीच में flickering होता है। लगातार होने वाला flickering लगभग ख़त्म हो गया है
    मैंने VSCode terminal और tmux के लिए synchronized output (DEC mode 2026) support patch भी submit किया था, और वह पहले ही merge हो चुका है
    अगर आप पूरी तरह बिना flicker वाला अनुभव चाहते हैं, तो Ghostty recommend करता हूँ। संबंधित जानकारी issue #769 comment, xterm.js PR #5453, tmux PR #4744 में देख सकते हैं

    • मैं सोच रहा हूँ कि इतने महत्वपूर्ण मुद्दे पर official communication इतनी कम क्यों थी
      GitHub issues (#1913, #826, #3648) पर हर दिन comments आते हैं, लेकिन दिसंबर rollback के बाद से Anthropic की तरफ़ से जवाब लगभग नहीं के बराबर थे
      technical difficulty समझ में आती है, लेकिन लगता है कि communication की कमी ने users का trust कम कर दिया
    • मैं $200 plan इस्तेमाल कर रहा हूँ, लेकिन API request timeout बार-बार हो रहा है
      मैं सिर्फ़ एक-दो agents ही चला रहा हूँ, फिर भी यह हो रहा है। सोच रहा हूँ कि कहीं पुराने plan का rate limit तो नहीं बचा हुआ, या long-context sessions इसकी वजह तो नहीं हैं
      फिर भी इस tool की वजह से मैं ऐसे apps बना पा रहा हूँ जो पहले असंभव थे, इसलिए यह सच में रोमांचक है
    • काश issue #769 पर थोड़ा और ध्यान दिया जाए
      macOS iTerm में हर बार window focus हटने पर screen ऊपर scroll हो जाती थी, जो बहुत परेशान करने वाला था
    • Ghostty recommend करने से पहले यह लेख पढ़ने की सलाह दूँगा
      Ghostty 1.0 से memory leak था, और Claude Code जैसे CLI apps अक्सर वही conditions बना देते थे जिससे समस्या सामने आ जाती थी
      fix पहले ही merge हो चुका है और 1.3 release में शामिल होगा
    • क्या TUI और UI को अलग करने की कोई योजना है, ताकि कोई भी अपना interface बना सके
      अगर इसे Zed की तरह flexible बनाया जा सके, तो अनुभव बहुत बेहतर हो सकता है
  • मैंने कई महीनों से Claude Code इस्तेमाल नहीं किया, इसलिए यह जानकर हैरानी हुई कि flicker अब भी ठीक नहीं हुआ
    मुझे लगने लगा है कि इसे open source न करने की वजह competition नहीं, बल्कि शायद codebase की अव्यवस्था हो सकती है

    • समस्या की जड़ Ink library है, जो हर update पर सब कुछ मिटाकर फिर से draw करती है
      issue #769 में इससे जुड़ी जानकारी है
      मैंने local में npm package patch किया था, लेकिन वह परफ़ेक्ट नहीं है। ढाँचागत रूप से rendering तरीका बदलना पड़ेगा
      संदर्भ के लिए, OpenAI Codex Rust + ratatui में लिखा गया है, इसलिए वहाँ यह समस्या नहीं है
    • मेरा अंदाज़ा है कि Claude Code team Claude Code से ही Claude Code बना रही है, इसलिए समस्या का समाधान धीमा है
      ऐसे जटिल bugs आख़िरकार किसी इंसान को weekend पर बैठकर खुद ठीक करने पड़ते हैं, लेकिन लगता है कि वे सिर्फ़ agents चला रहे हैं
    • Anthropic ने कहा था कि “90% code AI लिखेगा”, लेकिन basic flicker bug भी ठीक न कर पाना विडंबनापूर्ण है
      दूसरे CLI tools (opencode, codex, gemini, droid आदि) में यह समस्या नहीं है
    • लगता है कि team बहुत सारे issues और तेज़ model changes के बीच संघर्ष कर रही है
      अगर उन्होंने इसे tmux environment में खुद इस्तेमाल किया होता, तो समझते कि यह कितना दर्दनाक है, फिर भी मैं थोड़ा सहानुभूति रखना चाहता हूँ
    • Codex, Claude Code की तुलना में काफ़ी ज़्यादा smooth और stable है। लगता है कि Rust में लिखा होना बड़ा फ़र्क पैदा करता है
  • मैं Claude Code इस्तेमाल करना चाहता हूँ, लेकिन Ghostty का scrollback feature टूटा हुआ है, इसलिए नहीं कर पाता
    PTY proxy output stream को intercept कर लेता है, जिससे Ghostty के internal buffer access में रुकावट आती है

    • मुझे Ghostty में scroll की समस्या महसूस नहीं हुई। हाँ, scrollbar का न होना थोड़ा खलता है
    • tmux आज़माने की सलाह दूँगा। smooth scrolling नहीं है, लेकिन काफ़ी सारे features होने की वजह से संतोषजनक है
  • मैं सोच रहा था कि flickering ठीक-ठीक क्या है
    कभी-कभी Claude Code अचानक ऊपर scroll हो जाता है, फिर वापस नीचे आना मुश्किल होता है, और terminal restart करने पर ही सब सामान्य होता है

    • मुझे भी यही समस्या हो रही है। macOS iTerm2 में भी यही होता है, और session restart ही अस्थायी समाधान है
    • VSCode terminal में Claude Code ही नहीं, Gemini में भी यह ज़्यादा बुरा था। Ghostty पर switch करने के बाद पूरी तरह ठीक हो गया
  • अच्छा होता अगर input box को terminal के नीचे fix करने के लिए एक toggle feature होता
    chat और input box के बीच बार-बार scroll करना झंझट भरा है

    • मैंने भी tmux–mosh–mobile environment में इस्तेमाल करते समय यही सोचा था
      mobile usability के लिहाज़ से यह game changer feature हो सकता है
  • readme.md का format देखकर दिलचस्प लगा कि शायद Claude Code ने खुद लिखा हो

    • लेकिन CC खुद लिखता नहीं है, बल्कि संभव है कि यह किसी दूसरे model (Codex, Gemini आदि) के ज़रिए लिखा गया output हो
  • लगता है यह update पिछले कुछ महीनों में Claude Code के लिए सबसे बड़ा योगदान है
    मैं इसे तुरंत install करके test करने वाला हूँ

  • संबंधित ख़बर के तौर पर, मैंने पिछली पोस्ट देखी थी जिसमें कहा गया था कि “Claude Code की terminal rendering को 85% बेहतर किया गया”

    • लेकिन scroll समस्या अब भी बाकी है
  • आख़िरकार flickering कम करने के लिए धन्यवाद। यह सिरदर्द पैदा करने वाला bug था, अब थोड़ी राहत मिलेगी
    उम्मीद है Anthropic इस समस्या को जल्द पूरी तरह हल करेगा

  • Codex, session लंबे होने पर भी काफ़ी responsive रहता है, जबकि Claude समय के साथ lag करने लगता है

    • लगता है Codex का Rust में लिखा होना वाकई बड़ा फ़र्क पैदा करता है