Alibabas Qwen-team har på få uger sendt flere nye versioner af sin gratis, open source AI-kodeagent gennem npm-registret, senest v0.24.5 den 24. september 2026. Værktøjet hedder Qwen Code CLI, kører direkte i terminalen, og er allerede installeret mere end 69.000 gange på en enkelt uge ifølge npm’s downloadstatistik. For nordiske udviklere, der vil teste et alternativ til GitHub Copilot eller Cursor uden abonnement, er det et af de mest aktive open source-projekter i kategorien lige nu. Denne guide viser dig, hvordan du installerer, konfigurerer og bruger Qwen Code CLI fra bunden, inklusive et komplet eksempelprojekt, en gennemgang af sikkerhedsindstillinger og en liste over de fejl, nye brugere oftest støder på.
Guiden er skrevet til udviklere, der allerede har prøvet mindst ét AI-kodeværktøj og nu vil vurdere, om et open source-alternativ giver mening i deres eget team. Du behøver ikke kende Alibabas øvrige Qwen-modeller på forhånd. Alt, du skal bruge, er en terminal, Node.js og et par minutter til at oprette en gratis konto.
Hvad er Qwen Code CLI?
Qwen Code CLI er en terminalbaseret AI-agent udviklet af Alibabas Tongyi Lab under Qwen-mærket. Projektet ligger åbent på GitHub under organisationen QwenLM og er licenseret under Apache-2.0, hvilket betyder, at du frit kan bruge, ændre og selv distribuere koden. På tidspunktet for denne artikel havde repositoryet 28.136 stjerner og 3.111 forks på GitHub, og hovedsproget i kildekoden er TypeScript.
Projektets egen beskrivelse på GitHub lyder, at det er “the open-source AI coding agent for your terminal, editor, desktop, browser, and chat”, ifølge QwenLM’s projektmedarbejdere. Den officielle dokumentation uddyber formålet: agenten skal hjælpe udviklere med at “turn ideas into code faster than ever before”, som det står i Qwen Code-dokumentationens oversigtsside. Da værktøjet blev annonceret, skrev Alibabas Qwen-team, at de var stolte af at “introduce Qwen Code, an AI programming tool developed by Alibaba Tongyi Lab”.
I praksis fungerer Qwen Code som et kommandolinjeprogram, du starter med kommandoen qwen. Herefter kan du skrive natursprogsopgaver, og agenten læser, redigerer og opretter filer i dit projekt, kører shell-kommandoer og kan tilgå eksterne værktøjer via MCP-servere (Model Context Protocol). Agenten er bygget til at fungere optimalt med Alibabas egne Qwen3-Coder-modeller, men understøtter også OpenAI-, Anthropic- og Google-kompatible endepunkter, hvis du hellere vil køre en anden model bag kulisserne.
Selve pakken distribueres via npm under navnet @qwen-code/qwen-code, hvor projektet ifølge registrets egne data har udgivet over 650 forskellige versioner siden den første offentlige udgivelse i sommeren 2025. Den officielle produktside hos qwen.ai beskriver værktøjet som “an open-source AI agent for the terminal, optimized for Qwen series models”, hvilket understreger, at Qwen Code er tænkt som en samlet indgang til hele Qwen-familiens kodemodeller frem for et generisk skal, der bare kalder en vilkårlig API.
Det høje udgivelsestempo skiller Qwen Code ud fra mange konkurrerende værktøjer. Hvor et kommercielt produkt typisk ruller nye funktioner ud i afgrænsede releasecyklusser, publicerer Qwen-teamet ofte flere nightly-builds om ugen ved siden af de stabile udgivelser. Det giver hurtig adgang til rettelser, men stiller også krav til, at du selv holder styr på, hvilken version du rent faktisk kører, særligt hvis flere personer i teamet bruger værktøjet parallelt.
Aktiviteten på selve GitHub-repositoryet afspejler det samme billede. Projektet havde mere end 1.400 åbne issues og blev opdateret med nye commits samme dag, som denne artikel blev researchet, hvilket peger på et core-team, der arbejder på værktøjet stort set kontinuerligt frem for i sjældne, større opdateringer. For dig som bruger betyder det både hurtigere rettelser, når du rapporterer en fejl, og en lidt større risiko for, at en opdatering ændrer adfærd, du er vant til.
Forudsætninger: dette skal du bruge
Før du går i gang, skal et par ting være på plads. Kravene er ikke overraskende for et Node.js-baseret CLI-værktøj, men Qwen-teamet har hævet minimumsversionen af Node.js flere gange i 2026, så det er værd at tjekke din nuværende installation.
| Krav | Minimum | Anbefalet |
|---|---|---|
| Node.js | 22.x | Nyeste LTS-version |
| Pakkehåndtering | npm (følger med Node.js) | npm eller Homebrew |
| Styresystem | Linux, macOS eller Windows | Linux eller macOS til udvikling |
| Terminal | Enhver moderne terminal | Terminal med UTF-8-understøttelse |
| Konto til model-adgang | Qwen OAuth-konto (gratis) eller API-nøgle | Alibaba ModelStudio Coding Plan |
| Netværk | Adgang til Alibaba Cloud-endepunkter | Stabil forbindelse uden proxy-blokering |
Du behøver ikke betale noget for at komme i gang. Qwen tilbyder en gratis autentificeringsvej gennem OAuth, som ifølge projektets egen dokumentation giver 60 forespørgsler i minuttet og op til 2.000 om dagen uden token-afregning. Det er rigeligt til at følge denne guide og eksperimentere med værktøjet i et par uger, før du eventuelt skifter til en betalt Coding Plan eller din egen API-nøgle.
Har du i forvejen et andet AI-kodeværktøj installeret, for eksempel Codex CLI eller GitHub Copilot CLI, kan Qwen Code sagtens leve side om side med dem. Alle tre er selvstændige kommandolinjeprogrammer uden konflikter i navngivning, så du kan sammenligne dem direkte på samme projekt, hvis du vil vurdere, hvilken agent der passer bedst til jeres kodebase.
Trin 1: Installer Node.js 22 eller nyere
Start med at tjekke, hvilken Node.js-version du allerede har installeret. Åbn terminalen og kør:
node --version
Hvis output viser noget under v22, skal du opgradere. Den nemmeste vej for de fleste udviklere er Node.js’ officielle downloadside, hvor du kan hente den nyeste LTS-installer til dit styresystem. Bruger du allerede en versionshåndtering som nvm, klarer du opgraderingen på to linjer:
nvm install 22
nvm use 22
Dette trin springer mange over, og det er den mest almindelige årsag til, at installationen af Qwen Code fejler i næste trin. Byg derfor vanen med at tjekke Node-versionen først, hver gang du sætter et nyt CLI-baseret AI-værktøj op.
Trin 2: Installer Qwen Code CLI
Med Node.js 22 på plads installerer du selve pakken globalt via npm. Pakken hedder @qwen-code/qwen-code og ligger offentligt på npm-registret:
npm install -g @qwen-code/qwen-code@latest
Installationen tager typisk under et minut, afhængig af din internetforbindelse. Når kommandoen er færdig, kan du bekræfte, at CLI’en er tilgængelig:
qwen --version
Får du en version tilbage, for eksempel 0.24.5, er du klar til næste trin.
Alternative installationsmetoder
Bruger du macOS eller Linux og foretrækker Homebrew frem for npm, understøtter projektet også:
brew install qwen-code
Der findes desuden et standalone installationsscript, som ikke kræver, at du har Node.js sat op i forvejen. Det er praktisk på en frisk server eller CI-runner:
# Linux/macOS
curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.sh | bash
# Windows (PowerShell)
irm https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.ps1 | iex
Genstart terminalen efter en standalone-installation, så miljøvariablerne bliver indlæst korrekt. På Windows er det næsten altid nødvendigt for, at kommandoen qwen overhovedet bliver genkendt.
Trin 3: Start CLI’en og gennemfør autentificering
Start Qwen Code for første gang ved blot at skrive:
qwen
Første gang bliver du mødt af en opsætningsdialog, der beder dig vælge model-udbyder. Du kan altid genåbne den samme dialog senere med kommandoen /auth inde i CLI’en. Den dokumenterede standardvej for gratis adgang via Alibaba ser sådan ud:
- Kør
/authi det åbne Qwen Code-vindue - Vælg Alibaba ModelStudio
- Vælg Coding Plan for gratis adgang med rate-begrænsning
- Følg linket, der åbnes i din browser, og godkend adgangen
Vil du hellere bruge en anden udbyder, for eksempel en OpenAI-kompatibel API-nøgle, vælger du blot den relevante mulighed i samme menu og indtaster din nøgle samt base-URL. Husk, at de eksakte menupunkter kan ændre sig mellem versioner, så /help inde i CLI’en er altid den mest pålidelige kilde til, hvad din installerede version faktisk understøtter.
OAuth-flowet åbner som udgangspunkt en fane i din standardbrowser, hvor du logger ind med din Alibaba-konto og godkender adgangen. Kører du CLI’en på en server uden browser, for eksempel via SSH, får du typisk et link, du selv skal åbne på en anden maskine og derefter indsætte den resulterende kode tilbage i terminalen. Går godkendelsen igennem, gemmer Qwen Code adgangstokenet lokalt, så du ikke skal logge ind igen ved hver session, medmindre tokenet udløber eller du selv nulstiller det med /auth.
Trin 4: Kør din første prompt
Når autentificeringen er gennemført, lander du i den interaktive terminal-UI. Herfra skriver du bare, hvad du vil have hjulpet med, på almindeligt sprog. Prøv noget simpelt for at teste forbindelsen:
> Forklar kort, hvad filerne i denne mappe gør, og foreslå én forbedring
Agenten scanner mappen, læser relevante filer og svarer i almindelig tekst, ofte efterfulgt af konkrete forslag til ændringer. Vil du have agenten til rent faktisk at redigere filer, beder den om din godkendelse, før den skriver noget til disk, medmindre du har skiftet godkendelsestilstand (det gennemgår vi i trin 6). Skal du afbryde en kørende opgave, virker Ctrl+C som i de fleste andre CLI-værktøjer, og /clear nulstiller samtalens kontekst uden at lukke programmet.
Trin 5: Brug /init til at give agenten kontekst om projektet
En stor del af, om en AI-kodeagent leverer brugbare svar, afhænger af, hvor meget kontekst den har om dit konkrete projekt. Qwen Code løser det med kommandoen /init, der scanner projektet og genererer en kontekstfil, agenten læser ved hver session:
> /init
Kør altid /init som noget af det første i et nyt projekt. Det sparer dig for at skulle forklare projektstruktur, kodestil og afhængigheder i hver eneste prompt, og det giver mere konsistente svar, når flere teammedlemmer bruger agenten på det samme repository.
Trin 6: Vælg den rette godkendelsestilstand
Qwen Code arbejder med fem forskellige godkendelsestilstande, der bestemmer, hvor meget agenten må gøre uden at spørge dig først. Det er en af de indstillinger, du bør forstå, før du lader værktøjet røre ved et rigtigt projekt.
| Tilstand | Adfærd |
|---|---|
plan | Analyserer kun. Ændrer ingen filer og kører ingen kommandoer |
default | Beder om godkendelse, før den redigerer filer eller kører shell-kommandoer |
auto-edit | Godkender automatisk filredigeringer, men spørger stadig ved shell-kommandoer |
auto | Bruger en indbygget klassificering til selv at godkende lavrisiko-handlinger |
yolo | Godkender alle handlinger automatisk, uden at spørge |
Du sætter tilstanden i din settings.json (som vi kommer til i trin 8) eller midlertidigt via kommandolinjeflag. Til daglig udvikling på et rigtigt projekt anbefaler de fleste erfarne brugere default eller auto-edit. Yolo-tilstand bør du kun bruge i engangsbeholdere eller isolerede test-repositories, aldrig direkte på en produktionskodebase eller et repository med hemmeligheder i miljøvariablerne.
Du kan også skifte tilstand midt i en session uden at genstarte CLI’en, hvilket er nyttigt, hvis du starter i plan for at få agenten til at skitsere en løsning, og først bagefter tillader den at skrive filer. Denne to-trins arbejdsgang, planlæg først og godkend bagefter, er særligt nyttig ved større opgaver, hvor du vil se hele planen, før agenten rører en eneste fil.
Trin 7: Aktiver sandboxing for sikker kørsel
Godkendelsestilstand og sandboxing er to forskellige lag af sikkerhed. Godkendelse styrer, om agenten spørger, mens sandboxing styrer, hvad den handling, den udfører, egentlig må gøre. Sandbox er slået fra som standard, men kan aktiveres direkte fra kommandolinjen:
qwen --sandbox
# eller kortformen
qwen -s
Du kan også styre det via miljøvariablen QWEN_SANDBOX eller nøglen tools.sandbox i settings-filen. Der findes seks dokumenterede profiler, der kombinerer skriverettigheder og netværksadgang forskelligt.
| Sandbox-profil | Skriverettigheder | Netværk |
|---|---|---|
permissive-open | Begrænset | Tilladt |
permissive-closed | Begrænset | Deaktiveret |
permissive-proxied | Begrænset | Kun via proxy |
restrictive-open | Strengt begrænset | Tilladt |
restrictive-closed | Maksimalt begrænset | Deaktiveret |
restrictive-proxied | Strengt begrænset | Kun via proxy |
Kombinationen af yolo-godkendelse og en restrictive-closed sandbox er den sikreste måde at lade agenten arbejde helt selvstændigt på, fordi den ikke kan nå internettet eller skrive uden for det tilladte område, selv hvis den godkender sig selv.
De “proxied”-varianter er værd at fremhæve særskilt, fordi de tillader netværkstrafik, men kun gennem en proxy, du selv kontrollerer. Det giver mulighed for at logge og filtrere alt, agenten sender ud over netværket, uden helt at afskære den fra internettet. Arbejder du i et regulatorisk tungt miljø, for eksempel finans eller sundhed, er en proxied-profil ofte det bedste kompromis mellem funktionalitet og kontrol.
Trin 8: Konfigurer settings.json på projektniveau
Frem for at sætte flag hver gang du starter CLI’en, kan du gemme dine præferencer i en projektspecifik konfigurationsfil. Opret filen .qwen/settings.json i roden af dit projekt:
{
"tools": {
"approvalMode": "auto-edit",
"sandbox": "restrictive-open"
}
}
Fordi settings-filen er tilknyttet det enkelte projekt, kan du have forskellige regler for forskellige repositories. Et internt værktøjsprojekt kan sagtens køre med auto-edit, mens et repository med kundedata bør blive på default med streng sandbox. Læg .qwen/ i din .gitignore, hvis filen indeholder projektspecifikke stier eller interne serveradresser, du ikke ønsker delt via versionsstyring.
Vil I i stedet dele en fælles baseline på tværs af flere projekter, kan I lægge en organisationsbred standard i et separat repository og hente den ind ved opsætning af nye projekter, i stil med, hvordan mange teams allerede deler ESLint- eller Prettier-konfiguration. Det sikrer, at nye repositories starter med samme godkendelses- og sandbox-niveau, i stedet for at hver udvikler selv skal huske at sætte det rigtigt op fra bunden.
Trin 9: Tilføj en MCP-server
Model Context Protocol (MCP) gør det muligt at give agenten adgang til eksterne værktøjer og datakilder, for eksempel en database, et internt API eller et designsystem. Qwen Code læser MCP-servere fra nøglen mcpServers i settings-filen, og du kan tilføje en server direkte fra kommandolinjen:
qwen mcp add --transport http my-server http://localhost:3000/mcp
Skal serveren bruge OAuth-godkendelse, understøtter kommandoen også det som ekstra flag. Manuelt kan konfigurationen se sådan ud i .qwen/settings.json:
{
"mcpServers": {
"my-server": {
"url": "http://localhost:3000/mcp"
},
"oauth-server": {
"url": "https://api.example.com/sse/",
"oauth": {
"enabled": true,
"clientId": "din-client-id",
"clientSecret": "din-client-secret",
"authorizationUrl": "https://provider.example.com/authorize",
"tokenUrl": "https://provider.example.com/token"
}
}
}
}
Behandl clientSecret og andre nøgler som du ville behandle et adgangskodeord. Commit aldrig filen til et offentligt repository, hvis den indeholder rigtige hemmeligheder. Brug /mcp inde i CLI’en for at se, hvilke servere der er aktive, og om forbindelsen er sund.
I praksis bruges MCP-servere ofte til at koble agenten på interne systemer, som ikke findes i selve kodebasen, for eksempel et issue-tracker-API, en intern dokumentationsdatabase eller et designsystem, agenten kan slå op i, mens den skriver kode. Frem for at agenten gætter sig til, hvordan jeres interne API fungerer, kan den via en MCP-server hente den rigtige dokumentation direkte, hvilket typisk giver mere præcise forslag end en generisk prompt kan opnå alene.
Trin 10: Byg et komplet projekt med Qwen Code
Nu hvor opsætningen er på plads, er det tid til at se værktøjet arbejde på en rigtig opgave. Vi bygger et lille, komplet Node.js-projekt: et REST-API til en to-do-liste med fire endpoints, gemt i en simpel JSON-fil i stedet for en ekstern database. Det er lille nok til at følge fra terminalen, men stort nok til at vise, hvordan agenten strukturerer et rigtigt projekt.
Opret projektmappen og start agenten
mkdir todo-api && cd todo-api
npm init -y
qwen
Kør først /init, så agenten forstår, at mappen er tom og skal bygges fra bunden. Giv derefter en klar, afgrænset opgave:
> Byg et Express-baseret REST-API med endpoints til at oprette,
hente, opdatere og slette to-do-opgaver. Gem data i en lokal
todos.json-fil. Tilføj input-validering og en simpel testfil
med et par eksempelkald.
Gennemgå og godkend ændringerne
Kører du i standardtilstanden, viser agenten en fil-for-fil oversigt, før noget skrives til disk. En typisk godkendelsesdialog ser nogenlunde sådan ud i terminalen:
Foreslåede ændringer:
+ package.json (opdateret med express-afhængighed)
+ server.js (nyt Express-API)
+ todos.json (tom datafil)
+ test/api.test.js (grundlæggende tests)
Godkend disse ændringer? [y/n/a for altid i denne session]
Svar y for at godkende, eller a hvis du kører i auto-edit og vil undgå gentagne bekræftelser resten af sessionen. Agenten installerer typisk manglende npm-pakker som en del af opgaven, så hold øje med, om den beder om lov til at køre npm install.
Test det færdige API
Når agenten er færdig, starter du serveren og tester endpoints manuelt for at bekræfte, at koden faktisk virker, uanset hvor sikker agenten lyder i sit svar:
node server.js &
curl -s -X POST http://localhost:3000/todos \
-H "Content-Type: application/json" \
-d '{"title":"Test Qwen Code"}'
Et fungerende API bør returnere noget i stil med {"id":1,"title":"Test Qwen Code","done":false}. Bed derefter agenten om at rette eventuelle fejl direkte i samtalen, for eksempel med en prompt som “curl-kaldet fejler med 500, se på fejlbeskeden og ret det”. Denne loop, kode, test, ret, er kernen i at arbejde effektivt med en agentbaseret CLI, og den fungerer uanset om du bruger Qwen Code, Codex CLI eller Gemini CLI.
Sådan ser den genererede kode typisk ud
Til reference genererer et Express-baseret to-do-API som det ovenfor typisk en server-fil i stil med følgende, selvom den nøjagtige struktur naturligvis afhænger af den model, du har koblet til CLI’en:
const express = require('express');
const fs = require('fs');
const app = express();
const DATA_FILE = './todos.json';
app.use(express.json());
function readTodos() {
if (!fs.existsSync(DATA_FILE)) return [];
return JSON.parse(fs.readFileSync(DATA_FILE, 'utf8'));
}
function writeTodos(todos) {
fs.writeFileSync(DATA_FILE, JSON.stringify(todos, null, 2));
}
app.post('/todos', (req, res) => {
if (!req.body.title) {
return res.status(400).json({ error: 'title er påkrævet' });
}
const todos = readTodos();
const todo = { id: Date.now(), title: req.body.title, done: false };
todos.push(todo);
writeTodos(todos);
res.status(201).json(todo);
});
app.get('/todos', (req, res) => res.json(readTodos()));
app.put('/todos/:id', (req, res) => {
const todos = readTodos();
const todo = todos.find(t => t.id === Number(req.params.id));
if (!todo) return res.status(404).json({ error: 'ikke fundet' });
Object.assign(todo, req.body);
writeTodos(todos);
res.json(todo);
});
app.delete('/todos/:id', (req, res) => {
const todos = readTodos().filter(t => t.id !== Number(req.params.id));
writeTodos(todos);
res.status(204).end();
});
app.listen(3000, () => console.log('API kører på port 3000'));
Læg mærke til, at agenten selv har tilføjet en validering af feltet title og korrekte HTTP-statuskoder for hver operation, uden at det stod eksplicit i prompten ud over “input-validering”. Det er typisk for, hvordan en agentbaseret CLI arbejder: den fylder huller ud baseret på gængs praksis, men du bør altid læse koden igennem og selv vurdere, om valgene passer til jeres kodestandard, før du merger ændringen.
Vil du udvide projektet yderligere, kan du give agenten en opfølgende opgave i samme session, for eksempel at tilføje pagination, sortering efter status, eller en Docker-fil til at containerisere API’et. Fordi Qwen Code beholder kontekst gennem samtalen, behøver du ikke gentage detaljer om projektets struktur, medmindre du har kørt /clear undervejs.
Trin 11: Versionsstyring, stabil kontra nightly-build
Qwen Code udvikler sig hurtigt. På npm-registret er der udgivet over 650 versioner siden pakken først blev publiceret i sommeren 2025, inklusive daglige nightly-builds som 0.24.5-nightly.20260924. I løbet af blot én uge i starten af september 2026 udkom de stabile udgivelser 0.23.3, 0.23.4 og 0.24.0 efter hinanden, hvilket viser, hvor ofte projektet skifter version.
Til daglig brug og i et team bør du pin’e en specifik stabil version i stedet for at bruge @latest, så alle på holdet kører samme adfærd:
npm install -g @qwen-code/[email protected]
Nightly-builds er nyttige, hvis du selv følger projektets udvikling tæt eller vil teste en kommende funktion, men de bør ikke bruges i et CI-miljø eller på tværs af et team, da adfærden kan skifte fra dag til dag uden varsel.
Vil du se, hvilken version der reelt er den nyeste stabile, kan du slå det op direkte på npm-registret uden at installere noget:
npm view @qwen-code/qwen-code version
npm view @qwen-code/qwen-code versions --json
Det første kald viser den version, npm’s latest-tag peger på lige nu, mens det andet lister hele historikken, inklusive nightly-tags. Det er en hurtig måde at bekræfte, om en fejl, du oplever, allerede er rettet i en nyere udgivelse, før du bruger tid på at fejlsøge selv.
Trin 12: Opdater og vedligehold din installation
Med den hyppige udgivelsestakt bør du opdatere jævnligt. For en npm-installation:
npm update -g @qwen-code/qwen-code
# eller, for at hente den absolut nyeste version:
npm install -g @qwen-code/qwen-code@latest
Har du installeret via Homebrew, kører du i stedet:
brew update && brew upgrade qwen-code
Bekræft altid den nye version med qwen --version efter en opdatering, og læs projektets release-noter, hvis du har tilpassede settings-filer eller MCP-integrationer, der kan blive påvirket af ændrede konfigurationsnøgler.
Datasikkerhed og databehandling for nordiske teams
Før du peger Qwen Code mod et rigtigt firmarepository, bør du tage stilling til, hvor koden og prompts rent faktisk bliver behandlet. Bruger du den gratis autentificeringsvej gennem Alibaba ModelStudio, sender du uddrag af din kildekode til Alibabas cloud-infrastruktur, som har både en Beijing-region og en international region. For danske og nordiske virksomheder med krav om databehandling inden for EU, eller med kontraktuelle begrænsninger på tredjelandsoverførsler, er det et punkt, du skal afklare med jeres compliance-ansvarlige, før agenten får adgang til et repository med personoplysninger eller andet følsomt indhold.
Den gode nyhed er, at Qwen Code er modeluafhængigt i sin arkitektur. Fordi CLI’en understøtter OpenAI-, Anthropic- og Google-kompatible endepunkter, kan du konfigurere den til at sende trafik til en udbyder med databehandleraftale og EU-hosting i stedet for Alibabas standardendepunkt. Det kræver, at du selv opsætter API-nøgle og base-URL under /auth, men det betyder, at du kan beholde den samme arbejdsgang og de samme kommandoer, blot med en anden model bag kulisserne.
Uanset hvilken udbyder du vælger, bør du behandle enhver AI-kodeagent, der har skriveadgang til dit filsystem, som en tredjepartsintegration i jeres sikkerhedspolitik. Det betyder som minimum: afgrænset adgang til de repositories, agenten reelt skal arbejde i, streng sandbox-profil på maskiner med adgang til produktionshemmeligheder, og en fast rutine for, hvem i teamet der må skifte godkendelsestilstand til auto eller yolo.
Almindelige faldgruber
De fleste problemer med Qwen Code CLI opstår ikke i selve AI-modellen, men i opsætningen omkring den. Her er de faldgruber, nye brugere oftest rammer, og hvorfor de sker.
- For gammel Node.js-version. Mange springer versionstjekket over og undrer sig over kryptiske installationsfejl, selvom løsningen blot er at opgradere til Node.js 22. Fejlen viser sig ofte som en pakkefejl langt nede i npm-loggen frem for en klar besked om, at versionen er for lav.
- Yolo-tilstand på et rigtigt repository. At slå automatisk godkendelse til uden sandbox på et projekt med rigtige data er den hurtigste vej til at fortryde en session. Agenten kan i den tilstand slette filer, overskrive konfiguration eller køre kommandoer, du aldrig ville have godkendt manuelt.
- Hemmeligheder committet til git. MCP-konfigurationer med client-secrets havner nemt i versionsstyring, hvis
.qwen/ikke står i.gitignore. Problemet opdages ofte først, når en kollega støder på nøglen i git-historikken måneder senere. - Forveksling af stabil og nightly-build. At installere
@latesti et CI-script betyder, at builden kan skifte adfærd fra den ene dag til den anden uden varsel, fordi projektet udgiver nye versioner flere gange om ugen. - PATH ikke opdateret efter installation. Særligt på Windows glemmer brugere at genstarte terminalen, så kommandoen
qwenikke findes, selvom installationen faktisk lykkedes. Det samme sker ofte, når npm’s globale mappe ikke ligger i standardstien. - For mange parallelle sessioner på gratis-kontoen. Kører du flere Qwen Code-instanser samtidig i CI eller på tværs af et team, rammer I hurtigt grænsen på 60 forespørgsler i minuttet og 2.000 om dagen, og resten af teamet bliver blokeret resten af døgnet.
- Manglende /init i store repositories. Springer du initialiseringstrinnet over i et stort, komplekst repository, mister agenten overblikket og kommer nemmere til at foreslå ændringer, der ikke passer til den eksisterende arkitektur.
Fejlfinding: løsninger på de mest almindelige fejl
Herunder finder du de fejl, der oftest dukker op undervejs, og hvordan du løser dem trin for trin.
- Fejl ved Node.js-version. Kør
node --version, og opgrader til version 22 eller nyere via nodejs.org eller nvm, hvis versionen er for lav. - “qwen: command not found”. Kør
npm bin -gfor at se, hvor npm installerer globale kommandoer, og tjek at den sti står i dinPATH-variabel. Genstart terminalen efterfølgende. - Autentificeringsfejl efter /auth. Kør
/authigen, vælg udbyderen på ny, og indtast dine oplysninger igen. Ved Alibaba ModelStudio skal du kontrollere, at nøglen hører til den rigtige region, og at Coding Plan-produktet er aktivt på kontoen. - Rate limit eller kvote overskredet. Den gratis vej har en grænse på 60 forespørgsler i minuttet og 2.000 om dagen. Vent til vinduet nulstiller, reducer antallet af parallelle sessioner, eller skift til en konto med højere kvote.
- Netværks- eller endpoint-fejl. Tjek base-URL, modelnavn, proxy-indstillinger og om endepunktet reelt er OpenAI-kompatibelt. En forkert base-URL er den hyppigste årsag til denne fejltype.
- MCP-server svarer ikke. Test server-URL’en isoleret, for eksempel med
curl, og bekræft at transporttypen (HTTP eller SSE) matcher det, serveren rent faktisk kører. - Uventet opførsel efter en konfigurationsændring. Kør
qwen --safe-mode, som deaktiverer kontekstfiler, hooks, extensions, skills, MCP-servere og tilpassede godkendelsesregler for sessionen. Slå funktioner til igen én ad gangen for at finde synderen. - Konflikt mellem global og lokal version. Har projektet en lokalt installeret version af pakken, kan den overtrumfe den globale. Tjek med
npm list @qwen-code/qwen-codebåde globalt og i projektmappen. - Installation hænger eller fejler på Windows. Brug PowerShell-installationsscriptet i stedet for npm, og kør terminalen som administrator, hvis rettighedsfejl opstår undervejs.
Avancerede tips
Når du har grundopsætningen på plads, er der flere justeringer, der gør Qwen Code mere brugbart i en teamsammenhæng frem for kun til enkeltmandsprojekter.
Standardiser settings-filen på tværs af teamet ved at committe en delt .qwen/settings.json med aftalte godkendelses- og sandbox-niveauer, mens den enkelte udviklers autentificering forbliver personlig og uden for versionsstyring. Brug qwen --safe-mode systematisk, når du fejlfinder mærkelig adfærd, i stedet for at gætte dig frem gennem indstillinger én for én. Safe mode deaktiverer kontekstfiler, hooks, extensions, skills, MCP-servere og tilpassede godkendelsesregler for den enkelte session, så du hurtigt kan afgøre, om problemet skyldes en tilpasning eller selve agenten.
Pin altid en specifik version i CI-pipelines, og opdater den bevidst efter at have læst release-noterne, i stedet for at lade @latest styre, hvad der kører i produktion. Det samme gælder, hvis du bruger Qwen Code i et automatiseret script, der kører uden en person til at godkende hver ændring. Endelig er det værd at oprette separate MCP-serverkonfigurationer til udvikling og produktion, så en fejlkonfigureret agent i et testmiljø aldrig kan nå en produktionsdatabase ved et uheld.
Vil du følge projektets udvikling tættere, er de daglige nightly-builds en god måde at teste kommende funktioner på i et isoleret testmiljø, før de lander i en stabil udgivelse. Opret gerne en separat installation af CLI’en til det formål, så din daglige arbejdsversion forbliver på en kendt, stabil release, mens du eksperimenterer med nightly-builden ved siden af.
Qwen Code CLI sammenlignet med andre AI-kodeagenter
Qwen Code er langt fra det eneste terminalbaserede AI-kodeværktøj i 2026. Herunder er en kort oversigt over, hvordan det adskiller sig fra to andre CLI-agenter, vi tidligere har dækket på shattered.io.
| Værktøj | Licens | Prismodel | Standardmodel |
|---|---|---|---|
| Qwen Code CLI | Apache-2.0 (open source) | Gratis OAuth-kvote eller betalt Coding Plan | Qwen3-Coder-familien |
| Codex CLI | Lukket kildekode | Abonnement via OpenAI | OpenAI-modeller |
| GitHub Copilot CLI | Lukket kildekode | Abonnement via GitHub | Flere valgbare modeller |
Den store forskel er, at Qwen Code er open source under en permissiv licens, hvilket betyder, at virksomheder med krav om at kunne inspicere eller selv hoste værktøjets kildekode har et reelt alternativ til de lukkede løsninger. Til gengæld kræver det mere selvstændig opsætning, blandt andet af godkendelsestilstande og sandboxing, som de kommercielle værktøjer ofte styrer mere automatisk for dig.
Hvornår giver Qwen Code CLI mening for dit team?
Qwen Code passer bedst til teams, der allerede er vant til at administrere egne udviklerværktøjer, og som sætter pris på at kunne læse kildekoden bag agenten frem for at stole blindt på en lukket tjeneste. Er I et lille team uden en dedikeret platformsfunktion, kan den ekstra opsætning omkring godkendelsestilstande, sandboxing og MCP-servere føles som en stopklods sammenlignet med et abonnementsprodukt, der styrer det meste for dig ud af boksen.
Omvendt er værktøjet oplagt at teste, hvis I allerede betaler for flere AI-abonnementer og vil undersøge, om en gratis, selvkonfigureret løsning kan dække samme behov for interne værktøjer, prototyper eller mindre kritiske repositories. Fordi Qwen Code kan pege på andre modeludbydere end Alibabas egne, kan I også bruge det som en fælles kommandolinjegrænseflade, selv hvis I senere skifter, hvilken model der driver agenten bag kulisserne.
Det korteste svar: begynd i et afgrænset testprojekt med default-godkendelse og en åben sandbox-profil, og udvid først til produktionsrepositories, når teamet har opbygget en klar politik for godkendelsestilstande og MCP-adgang.
Ofte stillede spørgsmål
Er Qwen Code CLI gratis at bruge?
Ja. Selve værktøjet er open source og gratis at installere. Adgang til modellerne kan ske gennem en gratis Qwen OAuth-konto med en dokumenteret kvote på 60 forespørgsler i minuttet og 2.000 om dagen, eller via en betalt Alibaba Coding Plan for højere grænser.
Hvilken licens har Qwen Code?
Projektet er licenseret under Apache-2.0 ifølge GitHub-repositoryet, hvilket giver bred frihed til brug, ændring og videredistribution, også i kommercielle sammenhænge.
Virker Qwen Code CLI på Windows?
Ja, projektet dokumenterer installation på Linux, macOS og Windows, inklusive et selvstændigt PowerShell-installationsscript til Windows-brugere, der ikke ønsker at gå gennem npm.
Kan jeg bruge andre modeller end Qwen med værktøjet?
Ja. Ud over Alibabas egne Qwen3-Coder-modeller understøtter CLI’en OpenAI-, Anthropic- og Google-kompatible endepunkter, så du kan pege værktøjet mod en anden udbyder ved at ændre autentificeringsopsætningen.
Hvor sikkert er det at bruge yolo-tilstand?
Yolo-tilstand godkender automatisk alle handlinger uden at spørge og bør kun bruges sammen med en streng sandbox-profil, i en isoleret container eller et engangsmiljø. Brug det aldrig direkte mod et produktionsrepository.
Hvordan opdaterer jeg til den nyeste version?
Kør npm update -g @qwen-code/qwen-code, eller installer specifikt den nyeste udgivelse med npm install -g @qwen-code/qwen-code@latest. Homebrew-brugere kører brew upgrade qwen-code.
Kan Qwen Code CLI bruges i en CI/CD-pipeline?
Ja, men pin altid en fast, stabil version i pipelinen i stedet for @latest, og kør værktøjet med en streng sandbox-profil samt en godkendelsestilstand, der passer til automatiseret kørsel uden en person til at bekræfte handlinger undervejs.
Hvor adskiller Qwen Code CLI sig fra GitHub Copilot CLI?
Den primære forskel er licensmodellen. Qwen Code er open source under Apache-2.0 og kan selv-hostes eller tilpasses frit, mens GitHub Copilot CLI er et lukket, abonnementsbaseret produkt. Til gengæld er Copilot tættere integreret med GitHubs øvrige økosystem.
Hvor bliver min kode behandlet, når jeg bruger Qwen Code?
Som standard sendes uddrag af din kode til Alibabas cloud-infrastruktur via ModelStudio. Har din virksomhed krav om EU-baseret databehandling, kan du i stedet konfigurere CLI’en til at bruge en anden, OpenAI-, Anthropic- eller Google-kompatibel udbyder under /auth, uden at skifte selve værktøjet.
