Script cho MAC/LINUX có CRLF line endings (Windows-style \r\n). Linux shell không hiểu \r nên báo lỗi. SCRIPT LỖI: curl -fsSL "https://fallback.viber.vn/api/v1/llm/setup-claudecode?key=sk-xxxx%3Ask-vibervn-xxxx&os=linux&endpoint=https%3A%2F%2Fnode1.viber.vn&haiku=claude-sonnet-4-6&sonnet=claude-opus-4-6&opus=claude-opus-4-8&subagent=claude-sonnet-4-6" | sh FIX: curl -fsSL "https://fallback.viber.vn/api/v1/llm/setup-claudecode?key=sk-xxxxx%3Ask-vibervn-xxxx&os=linux&endpoint=https%3A%2F%2Fnode1.viber.vn&haiku=claude-sonnet-4-6&sonnet=claude-opus-4-6&opus=claude-opus-4-8&subagent=claude-sonnet-4-6" | tr -d '\r' | sh
Script cho MAC/LINUX có CRLF line endings (Windows-style \r\n). Linux shell không hiểu \r nên báo lỗi.
SCRIPT LỖI:
curl -fsSL "https://fallback.viber.vn/api/v1/llm/setup-claudecode?key=sk-xxxx%3Ask-vibervn-xxxx&os=linux&endpoint=https%3A%2F%2Fnode1.viber.vn&haiku=claude-sonnet-4-6&sonnet=claude-opus-4-6&opus=claude-opus-4-8&subagent=claude-sonnet-4-6" | sh
FIX:
curl -fsSL "https://fallback.viber.vn/api/v1/llm/setup-claudecode?key=sk-xxxxx%3Ask-vibervn-xxxx&os=linux&endpoint=https%3A%2F%2Fnode1.viber.vn&haiku=claude-sonnet-4-6&sonnet=claude-opus-4-6&opus=claude-opus-4-8&subagent=claude-sonnet-4-6" | tr -d '\r' | sh