Ohjelman poistumistila, jota kutsutaan myös paluukoodiksi, on numero, jonka ohjelma välittää käyttöjärjestelmälle, komentosarjalle tai muulle prosessille, joka alun perin suoritti sen ohjelman päätyttyä. Ei ole todellisia sääntöjä siitä, mitä poistumistilana käytetyt numerot tarkoittavat, vaikka nolla-arvo tarkoittaa perinteisesti ohjelmaa, joka sulkeutui normaalisti, ja mikä tahansa muu kuin nolla-arvo tarkoittaa ohjelman päättymistä odottamatta. Määrittämällä poistumistilalle numeron alkuperäinen koodi tai prosessi, joka kutsui koodin, voi kertoa, onko ohjelma suorittanut tarvittavat tehtävät onnistuneesti vai onko muita toimenpiteitä suoritettava.
Lähes kaikilla tietokoneen kielillä ja monilla skriptikielillä on käytössä jokin mekanismi tai toiminto, joka voi palauttaa poistumistilan. On tilanteita, joissa ohjelma voi tarkoituksella lopettaa kesken käynnin käyttämällä tiettyä virhekoodia osoittaakseen, että jokin on vialla, kuten puuttuva datatiedosto tai tietokoneen muisti. Ohjelmat, jotka eivät nimenomaisesti määritä poistumistilakoodia, palauttavat kutsuvan ohjelman nollaksi, ellei käyttöjärjestelmä tai kielitulkki lopeta ohjelmaa virheiden vuoksi.
Poistumistilaa voidaan käyttää myös kommunikointiin komentosarjan tai muun prosessin kanssa välittämällä tietyt arvot, jotka osoittavat, mitä seuraavaksi on tehtävä. Yksi esimerkki olisi skripti, joka on suunniteltu pitämään ohjelma käynnissä huolimatta mahdollisista ajoista, jolloin ohjelma saattaa poistua huollon vuoksi. Tämä malli toimisi, kun komentosarja suorittaa ohjelman ja odottaa sen poistumista. Ohjelmoijat voisivat järjestää sen niin, että ohjelma palauttaa yhden numeron, joka tarkoittaa, että se poistuu pysyvästi eikä sitä pitäisi käynnistää uudelleen, ja toinen numero voi kehottaa komentosarjaa odottamaan jonkin aikaa ja käynnistämään ohjelman uudelleen; vielä kolmas arvo voi osoittaa, että ohjelmassa tapahtui virhe ja se vaatii ohjelmoijan huomiota.
Poistumistilakoodin käyttäminen viestinnässä on kätevää tietyissä tilanteissa joidenkin ohjelmien tietoturva- ja muiden rajoitusten vuoksi eri käyttöjärjestelmissä. On monia tapauksia, joissa ohjelman on mahdotonta kommunikoida kutsumisprosessinsa tai toisen saman järjestelmän kanssa rinnakkain toimivan ohjelman kanssa. Näissä tilanteissa ohjelmien välisen viestinnän vaihtoehdot rajoittuisivat monimutkaisiin järjestelmiin, joihin kuuluu jaettu muisti, verkkoliitäntäyhteydet tai tiedostojen kirjoittaminen. Käyttämällä poistumistilaa yksinkertaisia tietoja voidaan välittää hyvin yksinkertaisella tavalla, joka ei vaadi mukautetun kehyksen kehittämistä.