Claude Code ei näe projektitiedostoja: miksi ja mitä tehdä vuonna 2026
MarkdownMiksi Claude Code ei löydä projektitiedostoja: se käynnistettiin väärästä kansiosta, tiedosto on alikansiossa tai se on .gitignoressa. Näin annat käyttöoikeuden add-dirillä, cd:llä ja asetuksilla.
Lue koko artikkeli
Tuttu tilanne: pyydät Claude Codea korjaamaan tiedoston, ja se vastaa, ettei tiedostoa ole olemassa. Tai se muuttaa huomaamatta jotain aivan muuta kuin tarkoitit. Avaat kansion – tiedosto on siellä, juuri siellä missä sen kuuluukin olla. Mutta Claude ei tunnu huomaavan sitä.
Melkein aina syy on yksinkertainen, eikä mikään ole rikki. Claude ei näe koko tietokoneen tiedostoja. Se pääsee käsiksi vain kansioon, josta käynnistit sen. Käynnistäminen sisarkansiosta tai projektijuuren alapuolelta voi jättää tarvittavat tiedostot työpuun ulkopuolelle. Käynnistäminen ylemmästä kansiosta, kuten kotihakemistosta, antaa sen sijaan laajemman rajauksen. Se ei tee alapuolella olevasta projektista saavuttamatonta. Selitän vaihe vaiheelta, miksi näin tapahtuu ja miten annat Claudelle pääsyn sen tarvitsemiin tiedostoihin. Lainaan komennot ja asetukset suoraan Claude Coden virallisesta dokumentaatiosta, jonka tarkistin syyskuun 2026 alussa.
Lisää materiaalia työkalujen määrittämisestä löytyy Ailoot-dokumentaatiosta.
Miksi Claude Code ei näe kaikkia projektitiedostoja?
Tärkein huomio
Claude Code ei lue tiedostoja koko levyltä, vaan ainoastaan kansiosta, josta käynnistit sen. Tätä kansiota kutsutaan työhakemistoksi. Claude voi nähdä ja lukea kaiken sen sisällä ja sen alikansioissa ilman, että se kysyy. Kaikki sen ulkopuolella – viereisessä kansiossa, yhden tason ylempänä tai toisella levyllä – on saavuttamattomissa, kunnes annat siihen erikseen käyttöoikeuden. Yleisin syy siihen, että tiedosto ”ei näy”, on siis yksinkertainen: käynnistit Clauden eri kansiosta. Tarkista ensin, mistä tarkalleen avasit sen.
Oletusarvoisesti Claude Code työskentelee yhdessä kansiossa: siinä, jossa kirjoitit komennon claude ja käynnistit istunnon. Dokumentaatio sanoo tämän suoraan.
Oletusarvoisesti Claudella on pääsy tiedostoihin kansiossa, josta käynnistit sen.
Tämä kansio on sen työhakemisto. Sen sisällä Claude lukee minkä tahansa tiedoston ilman lisäkysymyksiä: kehotteen muokkaaminen, koodin etsiminen, tietyn tiedoston lukeminen – kaikki toimii heti. Kaikki tämän kansion ulkopuolella on kuitenkin oletusarvoisesti saavuttamattomissa. Viereinen kansio, yksi taso ylempänä oleva kansio tai toinen levy – Claude ei katso niihin, ennen kuin annat sille luvan.
Työhakemiston ristiriita voi vaikuttaa näin: projekti on /Users/you/my-shop, mutta käynnistit Clauden sisarkansiosta /Users/you/other-project. Kansion my-shop tiedosto index.html on tämän työpuun ulkopuolella. Käynnistäminen kansiosta /Users/you on eri tapaus: my-shop on sen jälkeläinen eikä muutu saavuttamattomaksi vain kotihakemistosta aloittamisen vuoksi, vaikka rajaus on aiottua laajempi. Kansioon pääseminen ei myöskään tarkoita jokaisen tiedoston jo tulleen luetuksi.
Seuraavaksi käyn läpi, miten voit tarkistaa ja korjata tilanteen: ensin varmistamme, mistä kansiosta Claude käynnistettiin, ja sitten annamme sille pääsyn tarvitsemiinsa tiedostoihin eri tavoilla – kertaluonteisesta ohjeesta pysyvään asetukseen.
Miten voit tarkistaa, mistä kansiosta Claude Code käynnistettiin?
Tärkein huomio
Kysy Claudelta, missä kansiossa se on, tai pyydä sitä näyttämään nykyinen hakemisto pwd-komennolla – komento vain tarkistaa sijainnin eikä muuta mitään. Vertaa näytettyä polkua projektisi todelliseen sijaintiin. Jos polut eroavat, syy on siinä: Claude käynnistettiin väärästä kansiosta. Vielä varmempi ratkaisu on sulkea istunto ja käynnistää Claude uudelleen suoraan projektikansiosta: siirry sinne terminaalissa ja kirjoita claude.
Ennen kuin korjaat mitään, varmista, että ongelma todella johtuu kansiosta. Se on helppo tarkistaa. Pyydä Clauden chatissa näyttämään, missä hakemistossa se parhaillaan on – se suorittaa pwd-komennon, joka on turvallinen: komento näyttää vain polun eikä koske mihinkään.
pwd
Vastaus näyttää todellisen työhakemiston. Vertaa sitä projektin koko polkuun: /Users/you/other-project on kansion /Users/you/my-shop sisarkansio, kun taas /Users/you on sen yläkansio. Sisarkansiotapauksessa my-shop jää työpuun ulkopuolelle. Yläkansiotapauksessa se sisältyy työpuuhun, mutta kyseistä projektia ei ole valittu juureksi.
Selkein tapa ratkaista tämä ristiriita on käynnistää Claude suoraan projektikansiosta. Sulje nykyinen istunto, siirry oikeaan kansioon terminaalissa ja käynnistä Claude sieltä:
# Korvaa havainnollistava polku omalla todellisella projektijuurellasi.
cd /Users/you/my-shop
claude
Nyt my-shop on työkansio, ja kaikki projektitiedostot ovat näkyvissä. Sama sääntö pätee editorissa, kuten VS Codessa: avaa kansio, joka sisältää projektin. Älä avaa yhtä tasoa ylempänä olevaa kansiota tai koko levyä. Avaamasi kansio määrittää, mitä Claude pitää työhakemistonaan.
Jos uudelleenkäynnistys on hankalaa – esimerkiksi jos olet jo antanut Claudelle tässä istunnossa kontekstia etkä halua menettää sitä – voit lisätä tai vaihtaa kansiota kesken istunnon. Kaksi seuraavaa osiota käsittelee tätä.
Miten voit näyttää Claude Codelle tiedoston viereisessä kansiossa?
Tärkein huomio
Lisää tarvitsemasi kansio ilman istunnon uudelleenkäynnistämistä komennolla /add-dir suoraan chatissa: kirjoita /add-dir ja kansion polku, niin tiedostot ovat käytettävissä samoin ehdoin kuin pääkansion tiedostot. Jos haluat avata käyttöoikeuden heti Clauden käynnistyessä, lisää claude-komentoon --add-dir-valitsin ja polku. Jos taas haluat kansion avautuvan automaattisesti joka kerta, lisää se asetuksissa additionalDirectories-avaimen alle. Kaikissa kolmessa tapauksessa lisätyn kansion tiedostoja voi lukea ilman erillisiä vahvistuksia.
Joskus projekti ei ole yhdessä kansiossa. Koodi on yhdessä paikassa, kuvat tai tekstit viereisessä kansiossa ja jaetut komponentit jossain muualla lähistöllä. Clauden käynnistäminen vuorotellen jokaisessa kansiossa on hankalaa. On parempi antaa sille pääsy tarvittavaan kansioon ja pitää pääkansio työhakemistona.
Helpoin tapa on tehdä tämä suoraan aktiivisessa istunnossa komennolla:
/add-dir ../assets
Kirjoita /add-dir ja kansion polku, niin Claude saa heti pääsyn sen tiedostoihin samoin ehdoin kuin pääkansion tiedostoihin. Se ei kysy lupaa uudelleen: lisättyyn kansioon sovelletaan samoja sääntöjä kuin työhakemistoon.
Lisähakemistojen tiedostoihin sovelletaan samoja käyttöoikeussääntöjä kuin päätyöhakemistoon: ne luetaan ilman kehotetta.
Jos tiedät etukäteen työskenteleväsi useissa kansioissa, avaa käyttöoikeus heti Clauden käynnistyessä – samalla polulla, mutta valitsimen kanssa:
claude --add-dir ../assets
Jos tarvitset projektissa aina samaa viereistä kansiota, sitä ei tarvitse lisätä joka kerta manuaalisesti. Asetustiedostossa settings.json on additionalDirectories-avain. Lisää polut siihen, niin ne avautuvat automaattisesti aina, kun Claude käynnistyy:
{
"permissions": {
"additionalDirectories": ["../assets", "../shared"]
}
}
Windowsissa on yksi huomio: et voi lisätä verkkoasemaa polulla kuten \\server\shared – Claude ei hyväksy tällaisia polkuja. Liitä se erilliseksi asemaksi asemakirjaimella ja anna sitten tämä kirjain --add-dir-valitsimella. Tavallisissa paikallisissa kansioissa tätä ongelmaa ei ole.
Entä jos viereisen kansion lisääminen ei riitä, vaan haluat siirtyä kokonaan toiseen kansioon? Siihen on oma komento, jota käsitellään seuraavaksi.
Miten voit siirtää Claude Coden toiseen kansioon istunnon aikana?
Tärkein huomio
/cd-komento vaihtaa pääkansion sulkematta istuntoa: kirjoita /cd ja polku, niin Claude siirtyy sinne keskusteluhistorian säilyessä. Siirtyessään se ottaa uuden kansion CLAUDE.md-ohjetiedoston käyttöön, ja jos et ole työskennellyt siellä ennen, se pyytää vahvistamaan, että luotat kansioon. Ero /add-dir-komentoon on se, että /add-dir avaa viereisen kansion pääkansion rinnalle, kun taas /cd siirtää koko työhakemiston uuteen paikkaan. Komento on saatavilla versiosta 2.1.169 alkaen.
Joskus viereisen kansion lisääminen ei riitä – sinun täytyy vaihtaa pääkansiota ja siirtyä toiseen projektiin menettämättä rakentamaasi kontekstia. Käytä /cd-komentoa:
/cd ../another-project
Tämän jälkeen Claude käsittelee uutta kansiota työhakemistonaan. Säilytät koko keskusteluhistorian, mutta paikka, jota Claude käyttää tiedostojen lähtökohtana, vaihtuu uuteen sijaintiin. Claude ottaa käyttöön myös uuden kansion CLAUDE.md-ohjetiedoston, jos sellainen on – eli se mukautuu uuden projektin sääntöihin.
Luottamuksesta kannattaa tietää tämä: jos et ole aiemmin työskennellyt tässä kansiossa, Claude kysyy siirtyessäsi, luotatko siihen. Tämä on suojatoimi: tuntemattoman kansion ohjetiedosto voi sisältää mitä tahansa, joten Claude tarkistaa ensin, että kyseessä on sinun projektisi. Vahvista ja jatka sitten.
Ero näiden kahden komennon välillä on yksinkertainen. /add-dir pitää pääkansion työhakemistona ja avaa sen lisäksi viereisen kansion – hyödyllistä, kun projektin osat ovat hajallaan. /cd siirtää koko työhakemiston uuteen paikkaan – hyödyllistä, kun vaihdat toiseen projektiin. /cd-komento otettiin käyttöön versiossa 2.1.169, joten jos se puuttuu, päivitä Claude Code. Minulla on erillinen opas aiheesta Claude Coden päivittäminen.
Se, että Claude Code näkee tiedostot, on vasta perusta. Vakaita tuloksia ei saavuteta pelkällä tiedostojen käyttöoikeudella. Tulokset riippuvat siitä, mitä tiedostot sisältävät ja miten rakennat projektin ympärille kontekstin.
Miksi Claude Code ei näe alikansiossa olevaa tiedostoa?
Tärkein huomio
Alikansiot toimivat eri tavalla kuin viereiset kansiot: Claudella on niihin pääsy, mutta niiden sisältö ei tule heti sen kontekstiin. Claude lataa ohjetiedostot ja alikansioiden sisällön tarpeen mukaan, kun se tarkastelee niitä. Se ei lataa niitä käynnistyksen yhteydessä. Siksi syvällä alikansiorakenteessa oleva tiedosto voi olla ”näkymätön”, kunnes annat Claudelle sen polun suoraan. Ratkaisu on yksinkertainen: anna Claudelle tiedoston tarkka polku tai pyydä sitä ensin lukemaan tiedosto, niin se tulee näkyviin.
On tärkeää olla sekoittamatta kahta eri tilannetta. Viereinen kansio (projektin ulkopuolella) on kokonaan saavuttamattomissa, kunnes lisäät sen. Projektin sisällä oleva alikansio on eri asia: Claudella on siihen pääsy, mutta sen sisältö ei ole sen mielessä heti alusta alkaen.
Näin se toimii. Käynnistyessään Claude lataa projektin ylimmillä tasoilla olevat asiat. Se lataa alikansioiden tiedostoja tarpeen mukaan, kun se siirtyy niihin lukemaan jotakin. Dokumentaatio kuvaa tätä toimintaa ohjetiedostojen osalta, ja sama logiikka pätee kontekstiin yleisesti.
Claude löytää työhakemiston alikansioissa olevat tiedostot. Sen sijaan, että se lataisi ne käynnistyessään, se ottaa ne mukaan lukiessaan tiedostoja näissä alikansioissa.
Yksinkertaisesti sanottuna syvällä alikansiossa oleva tiedosto ei ole kadonnut, ja siihen on täysin mahdollista päästä käsiksi. Claude ei vain ole vielä painanut sitä mieleensä, koska se ei ole katsonut sinne – siksi voi tuntua siltä, että Claude ”ei näe” tiedostoa, vaikka se on olemassa ja käytettävissä.
Voit korjata asian yhdellä rivillä. Anna tiedoston polku suoraan Claudelle – esimerkiksi src/components/header.jsx – tai pyydä sitä vain lukemaan tiedosto ensin. Heti kun se katsoo sinne, tiedosto tulee mukaan kontekstiin, ja voit työskennellä sen kanssa normaalisti. Asetuksia ei tarvitse muuttaa.
Miksi tiedostot katoavat @-valikosta, ja mitä tekemistä .gitignorella on asian kanssa?
Tärkein huomio
Kun kirjoitat @-merkin, Claude Code näyttää luettelon tiedostoista, joista voit valita. Oletusarvoisesti luettelossa piilotetaan kaikki .gitignore-tiedostossa mainitut – palvelukansiot, ympäristötiedostot ja koontitulokset. Tiedosto voi siis olla juuri oikeassa paikassa mutta silti puuttua @-valikosta. respectGitignore-asetus määrittää tämän: se on oletusarvoisesti käytössä ja piilottaa kyseiset tiedostot. Aseta sen arvoksi false, niin valikossa näytetään myös .gitignore-tiedostossa luetellut tiedostot. Voit aina kirjoittaa tällaisen tiedoston polun itse.
Toinen yleinen syy siihen, että luulet Clauden ”kadottaneen” tiedoston, on tiedostovalitsin. Kun kirjoitat @, näkyviin tulee luettelo, josta voit valita tiedoston kirjoittamatta koko polkua. Luettelossa ei kuitenkaan näy kaikkea.
Oletusarvoisesti @-valikko piilottaa .gitignore-tiedostossa luetellut tiedostot. Tällä tiedostolla määritetään, mitä ei lisätä jaettuun tietovarastoon: palvelukansiot, salasanoja ja ympäristöasetuksia sisältävät tiedostot sekä valmiit koontitulokset. Ajatus on selvä – yleensä näitä tiedostoja ei tarvitse käsitellä itse, joten ne vain sotkisivat luetteloa. Joskus jokin niistä kuitenkin on tarpeen, eikä sitä näy valikossa.
respectGitignore-asetus määrittää tämän. Se on oletusarvoisesti käytössä, joten .gitignore-tiedostossa olevat tiedostot eivät näy valikossa. Jos haluat nähdä ne, muuta asetukseksi false:
{
"respectGitignore": false
}
Voit tehdä saman muuttamatta tiedostoa käyttämällä Claude Coden sisällä /config-komentoa. Sen valintakytkimen nimi on ”Respect .gitignore in file picker”. Poista valinta, niin piilotetut tiedostot palaavat valikkoon.
Yksi tärkeä huomio: respectGitignore koskee vain @-valikkoa eikä liity tiedostojen käyttöoikeuksiin. Vaikka tiedosto olisi piilotettu luettelosta, voit aina kirjoittaa sen polun itse, ja Claude lukee sen. Valikko on mukavuustoiminto; se ei määritä käyttöoikeuksien rajoja.
Mitä tehdä, jos Claude Code ei pysty lukemaan tiettyä tiedostoa?
Tärkein huomio
Joskus kansio on oikea, mutta Claude kieltäytyy silti lukemasta yhtä tiettyä tiedostoa. Yleensä syynä on asetuksissa oleva rajoitus. settings.json-tiedosto voi sisältää deny-sääntöjä, jotka estävät tiettyjen tiedostojen lukemisen – tavallisimmin kyse on .env-tiedostoista, joissa on avaimia ja salasanoja. On myös asetus, joka estää kaiken työkansioiden ulkopuolella olevan lukemisen. Tarkista molemmat kohdat settings.json-tiedostosta. Muista myös, että .env-rajoitus on oletusarvoinen suojatoimi; sitä ei pidä poistaa ilman hyvää syytä.
Jos kansio on varmasti oikea ja käyttöoikeus on avoinna, mutta Claude ei silti lue tiettyä tiedostoa, tiedostoa todennäköisesti rajoitetaan. Rajoitukset ovat settings.json-asetustiedostossa, ja niitä on kahdenlaisia.
Ensimmäinen on tiettyihin tiedostoihin kohdistuva rajoitus. Asetuksissa nämä ovat deny-sääntöjä, ja ne koskevat tavallisimmin .env-tiedostoa, johon avaimet ja salasanat tallennetaan:
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)"
]
}
}
Tällainen sääntö estää Claudea lukemasta määritettyjä tiedostoja, ja se on tarkoituksellista. Avainten ja salasanojen ei pidä päätyä keskusteluun mallin kanssa, joten .env on oletusarvoisesti lukittu. Jos huomaat, ettei Claude lue .env-tiedostoa tai muuta vastaavaa salaisuuksia sisältävää tiedostoa, kyseessä on tarkoituksellinen toiminta, eikä tätä rajoitusta pidä poistaa ilman painavaa syytä.
Toinen rajoitustyyppi estää kaiken työkansioiden ulkopuolella olevan. Tätä säätelee blockReadsOutsideWorkingDirectories-asetus. Kun se on käytössä, Claude kieltäytyy lukemasta työhakemiston ulkopuolisia tiedostoja, vaikka yrittäisit avata niitä suoraan. Jos asetuksena on true ja tarvitset ulkoista tiedostoa, lisää sen kansio komennolla /add-dir tai poista rajoitus käytöstä:
{
"permissions": {
"blockReadsOutsideWorkingDirectories": false
}
}
Tämä asetus otettiin käyttöön versiossa 2.1.257. Jos olet kokeillut kaikkea muuta mutta tiedosto on edelleen saavuttamattomissa, kannattaa tarkistaa sekä deny että blockReadsOutsideWorkingDirectories.
Mistä kannattaa aloittaa, jos Claude Code ei näe tiedostoja?
Tärkein huomio
Aloita tarkistamalla kansio: pyydä Claudea näyttämään nykyinen hakemisto komennolla pwd ja vertaa sitä projektin sijaintiin. Jos ne eivät täsmää, käynnistä Claude uudelleen projektikansiosta tai siirry sinne komennolla /cd. Tarvitsetko tiedostoja viereisestä kansiosta? Avaa se komennolla /add-dir. Eikö Claude näe alikansiossa olevaa tiedostoa? Anna sille tiedoston polku suoraan. Puuttuuko tiedosto @-valikosta? Syynä on .gitignore – muuta respectGitignore-asetusta. Onko yksi tiedosto lukittu? Etsi deny-rajoitus settings.json-tiedostosta.
Tässä on lyhyt suunnitelma, jota voit seurata alusta loppuun.
- Tarkista työkansio: pyydä Claudea näyttämään nykyinen hakemisto komennolla
pwdja vertaa sitä projektin sijaintiin. - Jos kansiot eroavat, käynnistä Claude uudelleen oikeasta kansiosta (
cd projectja sittenclaude) tai siirry sinne/cd-komennolla. - Tarvitsetko tiedostoja viereisestä kansiosta? Lisää se komennolla
/add-dirtai käynnistäessäsi Clauden--add-dir-valitsimella. - Eikö alikansion tiedosto ole mukana kontekstissa? Anna Claudelle sen polku suoraan tai pyydä sitä lukemaan tiedosto.
- Puuttuuko tiedosto
@-valikosta? Syynä on.gitignore. AsetarespectGitignorearvoonfalsetai poista valinta/config-komennon valikosta. - Onko jokin yksittäinen tiedosto lukittu? Tarkista
deny- jablockReadsOutsideWorkingDirectories-säännötsettings.json-tiedostosta.
Yhdeksässä tapauksessa kymmenestä ensimmäinen vaihe ratkaisee kaiken: Claude käynnistettiin väärästä kansiosta. Tiedostojen käyttöoikeus on perusta, mutta se ei rakenna projektia puolestasi. Olen käsitellyt yksityiskohtaisesti, miten rakennat Claudelle kontekstin, jotta se pitää koko projektin mielessä eikä kadota punaista lankaa, Second Brain in Claude Code -oppaassani.
Lähteet
- Claude Code - Käyttöoikeuksien määrittäminen, virallinen dokumentaatio - oletusarvoinen työhakemisto, --add-dir ja /add-dir, /cd, additionalDirectories, käyttöoikeus ilman kehotteita, verkkopolut
- Claude Code - Clauden muistin hallinta, virallinen dokumentaatio - alikansioiden tiedostojen lataaminen tarpeen mukaan, CLAUDE.md, tuonnit
- Claude Code - Asetusten viite, virallinen dokumentaatio - respectGitignore ja @-valikko, blockReadsOutsideWorkingDirectories ja versio 2.1.257
- Claude Code - Asetukset, virallinen dokumentaatio - deny-säännöt ja .env-tiedostojen lukemisen estäminen
Löydät lisää materiaalia työkalujen käytöstä Ailoot-dokumentaatiosta.
Lisätietoja
Kysymyksiä tästä oppaasta: Claude Code ei näe projektitiedostoja: miksi ja mitä tehdä vuonna 2026
Miksi kotihakemistosta käynnistäminen eroaa sisarprojektista käynnistämisestä?
Kotihakemistosi alla oleva projekti on sen jälkeläinen, joten kotihakemistosta aloittaminen ei vie sitä kyseisen työpuun ulkopuolelle vaan antaa aiottua laajemman kontekstin. Työkansion sisar on sen ulkopuolella. Vertaa koko polkuja ennen puuttuvan pääsyn diagnosointia.
Tarkoittaako alikansioon pääsy sen tiedostojen olevan jo kontekstissa?
Ei. Anna agentille tiedoston polku ja pyydä lukemaan se. Jos luku kielletään, tutki soveltuvat oikeudet. Tiedoston puuttuminen valintavalikosta ja kielletty tiedostoluku ovat eri ongelmia.