auto async shell push